逻辑仿函数

4.3.4 逻辑仿函数

功能描述:

  • 实现逻辑运算

函数原型:

  • template<class T> bool logical_and<T> //逻辑与
  • template<class T> bool logical_or<T> //逻辑或
  • template<class T> bool logical_not<T> //逻辑非

示例:

#include <vector>
#include <functional>
#include <algorithm>
void test01()
{
	vector<bool> v;
	v.push_back(true);
	v.push_back(false);
	v.push_back(true);
	v.push_back(false);

	for (vector<bool>::iterator it = v.begin();it!= v.end();it++)
	{
		cout << *it << " ";
	}
	cout << endl;

	//逻辑非  将v容器搬运到v2中,并执行逻辑非运算
	// 将一个容器赋值给另一个容器,必须注意另一个容器的容量,要考虑其是否可以装载
	vector<bool> v2;
	v2.resize(v.size());
	//逻辑仿函数的用法也像谓词一样
	transform(v.begin(), v.end(),  v2.begin(), logical_not<bool>());

	for (vector<bool>::iterator it = v2.begin(); it != v2.end(); it++)
	{
		cout << *it << " ";
	}
	cout << endl;
}

int main() {

	test01();

	system("pause");

	return 0;
}

总结:逻辑仿函数实际应用较少,了解即可

posted @ 2022-11-12 11:37  小秦同学在上学  阅读(20)  评论(0编辑  收藏  举报