[C++11新特性]第二篇
时间:2022-03-21 06:14
0.可变数量参数,可变函数模版,变长模版类
-
c++98可变数量参数
事实上,仿函数是编译器实现lambda的一种方式,在现阶段,通常编译器会把lambda函数转化为一个仿函数对象。
关于lambda和STL的联系,它使得STL的算法使用更加方便,比如for_each,其原型是:
UnaryProc for_each(InputIterator beg,InputIterator end,UnaryProc op)
for_each算法第三个参数是一个单个参数的“函数”,即一个函数指针、仿函数或者lambda函数。
函数指针方法的缺陷是:往往定义在别的地方,阅读代码不方便;如果不进行inline优化,性能就比lambda函数差很多。而且函数指针的应用范围小很多,相比函数指针、仿函数,lambda函数往往是最佳的选择。
注:在c++98中,STL帮助我们定义了很多仿函数可直接使用。
[C++11新特性]第二篇,布布扣,bubuko.com