5

我正在使用 GCC 版本 4.4.7 的服务器上工作,不幸的是我被迫使用此版本。我想使用<random>C++0x 的库,但我在这里读到,在这个版本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并显示了我得到的输出。这里有什么问题?

4

1 回答 1

4

gcc 4.4 中的 C++11 支持相当少。

gcc 4.5的发行说明包括

改进了对即将推出的 ISO C++ 标准 C++0x 的实验性支持

特别提一下<random>

于 2013-04-12T15:46:18.223 回答