留意Gnu科学图书馆.它是根据GPL而不是LGPL许可的.
正如其他人提到的,Boost随机类是一个良好的开端.它们的实现符合为TR1规定的PRNG代码:
http://www.boost.org/doc/libs/1_35_0/libs/random/index.html http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1452.html
如果您有最新版本的G ++编译器,您可能会发现已包含TR1库
C++ 11采用了一个基于boost.random的强大随机数库.您可以使用不同的算法访问许多随机数引擎,以满足您的质量,速度或大小要求.质量实施甚至可以访问您平台提供的任何非确定性RNG std::random_device.
此外,还有许多适配器可以生成特定的分布,从而无需手动执行此类操作(通常不正确地执行此操作).