个人也是初学根本就不了解谓词是什么意思,通过下面的例子大家自己体会吧。
下面程序演示了count_if();
该程序创建一个包含数字1-19的矢量,然后统计能够被3整除的元素个数。
为了达到这个目的,程序首先创建了一个称为dividesby3()的一元谓词,如果谓词的参数能够被3整除,该谓词返回ture
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| #include<iostream> #include<vector> #include<algorithm> using namespace std;
bool dividesby3(int i) { if((i%3)==0)return true; return false; }
int main() { vector<int> v; int i; for(i=0;i<20;i++)v.push_back(i); cout << "Sequence:/n"; for(i=0;i<v.size();i++)cout << v[i] <<" "; cout << endl; i=cout_if(v.begin(),v.end(),dividesby3); cout << i <<" numbers are divisible by 3./n"; return 0; }
|