Nav*_*een 2 c++ boost boost-lambda
我是新手,并试图编写一些简单的程序来理解它.在下面的代码中,我试图用随机数填充数组.这是我的代码:
using namespace boost::lambda;
srand(time(NULL));
boost::array<int,100> a;
std::for_each(a.begin(), a.end(), _1=rand());
Run Code Online (Sandbox Code Playgroud)
但它看起来rand()只被评估一次,我的数组包含每个元素的相同值.任何人都可以指出这段代码有什么问题吗?
Ser*_*kov 10
好像你需要使用延迟函数调用
std::for_each(a.begin(), a.end(), boost::lambda::_1= boost::lambda::bind(rand) );
Run Code Online (Sandbox Code Playgroud)
这是另一个有趣的情况:延迟常量和变量
| 归档时间: |
|
| 查看次数: |
491 次 |
| 最近记录: |