我是新手,想要写一些简单的程序来理解它。在下面这段代码中,我试图用随机数填充一个数组。这里是我的代码:boost lambda的用法
using namespace boost::lambda;
srand(time(NULL));
boost::array<int,100> a;
std::for_each(a.begin(), a.end(), _1=rand());
但它看起来像rand()
是越来越只计算一次,我的数组包含每个元素的值相同。任何人都可以指出这段代码有什么问题吗?
顺便说一句,您不需要使用boost :: lambda来用随机数填充数组。你可以例如使用'std :: generate(a.begin(),a.end(),&rand);'。 – MP24 2009-11-30 13:05:23
可能是我可以做到这一点,但我仍然想知道为什么这种方法不起作用 – Naveen 2009-11-30 13:06:12