我正在使用GCC版本4.4.7的服务器上工作,不幸的是我被迫使用这个版本。我想使用C ++ 0x的<random>
库,但我读了here,在此版本uniform_real_distribution
中称为uniform_real
。当我尝试调用此函数并normal_distribution
时,我没有得到有用的输出。见这个例子:
#include <random>
#include <iostream>
using namespace std;
int main()
{
typedef std::mt19937 Engine;
typedef std::uniform_real<double> Dis1;
typedef std::normal_distribution<double> Dis2;
Engine eng(0);
Dis1 dis1(0, 1);
cout << dis1(eng) << endl; //OUTPUTS 3.49921e+09
Dis2 dis2(0, 1);
cout << dis2(eng) << endl; //STALLS, NO OUTPUT
return 0;
}
我用g++44 -std=c++0x main.cpp
编译,我已经显示了我得到的输出。这是什么问题?
答案 0 :(得分:4)
改进了即将推出的ISO C ++标准的实验支持, 的C ++ 0x
特别提到<random>
。