Я использую следующий код для тестирования библиотеки c++ <random>.
Почему я получаю точно такую же последовательность для каждого запуска скомпилированного исполняемого файла? Является ли rd() детерминированным при компиляции? Как получить разные выходные данные для каждого прогона?
GCC 4.8.1 на Windows 7 64bit. Использование дистрибутива MinGW из http://nuwen.net/mingw.html
EDIT: Я тестировал один и тот же код с Visual Studio. Нет проблем. Выходы не являются детерминированными. Это может быть ошибка в mingw gcc 4.8.1, которую я использовал.
#include <iostream>
#include <random>
using namespace std;
int main(){
 random_device rd;
 mt19937 mt(rd());
 uniform_int_distribution<int> dist(0,99);
 for (int i = 0; i< 16; ++i){
    cout<<dist(mt)<<" ";
 }
 cout <<endl;
}
