Я бы использовал std::generate
:
std::vector<double> x(10);
std::default_random_engine gen{std::random_device{}()};
std::uniform_real_distribution<double> dist(0.0, 1.0);
std::generate(std::begin(x), std::end(x), [&]{ return dist(gen); });
Примечание:
Вам нужно заполнить генератор случайных чисел, иначе вы получите ту же последовательностьчисла каждый раз.
Я не рекомендую std::default_random_engine
, потому что Стандарт не гарантирует качество или воспроизводимость в различных реализациях или версиях компилятора.