2012年9月1日

摘要: 标准库定义了两个绑定器适配器:bind1st和bind2nd。每个绑定器接受一个函数对象和一个值。bind1st将给定值绑定到二元函数对象的第一个实参,bind2nd将给定值绑定到二元函数对象的第二个实参。例如,为了计算一个容器中所有小于或等于10的元素的个数,可以这样给count_if传递值: count_if (vec.begin(), vec.end(), bind2nd(less_equal<int>(), 10));详细代码可查看 boost源码或者 vc源码 (functional) 阅读全文
posted @ 2012-09-01 10:14 山本二十八 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同?template<class T> class Widget; // uses "class"template<typename T> class Widget; // uses "typename" 答案:没什么不同。在声明一个 template type parameter(模板类型参数)的时候,class 和 typename 意味着完全相同的东西。一些程序员更喜欢在所有的时间都用 class,因为它更容易 阅读全文
posted @ 2012-09-01 09:57 山本二十八 阅读(173) 评论(0) 推荐(0) 编辑

导航