Мне кажется, что в С++ первое случайное число, вызываемое с помощью метода std rand(), в большинстве случаев значительно меньше второго. Что касается реализации Qt, первая из них почти всегда на несколько величин меньше.
qsrand(QTime::currentTime().msec());
qDebug() << "qt1: " << qrand();
qDebug() << "qt2: " << qrand();
srand((unsigned int) time(0));
std::cout << "std1: " << rand() << std::endl;
std::cout << "std2: " << rand() << std::endl;
выход:
qt1: 7109361
qt2: 1375429742
std1: 871649082
std2: 1820164987
Предполагается ли это, из-за ошибки в посеве или ошибке? Кроме того, в то время как выход qrand() сильно меняется, первый вывод rand(), по-видимому, изменяется со временем линейно. Просто интересно, почему.