C++ templet操作符的设计缺陷

类别:编程语言 点击:0 评论:0 推荐:
之前一直主要使用汇编和C,最近想看看stl,翻出jjhou的 《Genericity/STL大系》。其中第一个例子:
#include <algorithm>
#include <functional>
#include <vector>
#include <iostream>
using namespace std;

int main()
{
int ia[ ] = { 27, 210, 12, 47, 109, 83, 40 };
vector<int, allocator<int> > vec( ia, ia+7 );

cout << count_if(vec.begin(), vec.end(),
                 not1(bind2nd(less_equal<int>(), 40)));

return 0;
}

我在输入的时候把其中一句写成了:
vector<int, allocator<int>> vec( ia, ia+7 );
结果编译自然是无法通过。
无奈的 > > 破坏了C/C++的语言美学,很遗憾!

本文地址:http://com.8s8s.com/it/it26896.htm