C ++ 11-library和g ++ 4.4.7的问题

时间:2013-04-12 15:36:12

标签: c++ random

我正在使用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编译,我已经显示了我得到的输出。这是什么问题?

1 个答案:

答案 0 :(得分:4)

C++11 support in gcc 4.4相当稀疏。

release notes for gcc 4.5包括

  

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

特别提到<random>