程序中经常用到顺序序列(0,1,2,3,4,5,6.。。。。),一直羡慕python有range这样的函数,而C++中通常只有用循环来处理这种初始化。
现在,结合boost库lambda(虽然差C++11的几条街),我们也可以写出这样的初始化函数:
deque<int> coll1; int first=0; //将coll1初始化为0-9,first需要使用var适配lambda generate_n(back_inserter(coll1), 10, var(first)++);
结合lambda,你几乎可以以这种极优雅的方式写出绝大部分初始化函数