Я новичок в повышении и пытаюсь написать несколько простых программ, чтобы понять это. Здесь, в следующем фрагменте кода, я пытаюсь заполнить массив случайными числами. Вот мой код:
using namespace boost::lambda;
srand(time(NULL));
boost::array<int,100> a;
std::for_each(a.begin(), a.end(), _1=rand());
Но похоже, что rand()
оценивается только один раз, и мой массив содержит одинаковые значения для каждого элемента. Кто-нибудь может указать, что не так с этим кодом?