В C++11 можно генерировать числа с использованием std::random_device
с генератором псевдослучайных чисел, например mt19937, или без него.
В чем будет разница, используя это в этом примерном коде:
#include <random>
#include <iostream>
int main() {
std::random_device rd;
std::mt19937 mt(rd());
std::uniform_real_distribution<double> dist(1, 10);
for (int i=0; i<16; ++i)
std::cout << dist(rd) << "\t" << dist(mt) << "\n";
}