我是新手,想要寫一些簡單的程序來理解它。在下面這段代碼中,我試圖用隨機數填充一個數組。這裏是我的代碼: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