N3924 Discouraging rand() in C++14, v2
C++14では、std::rand()
とstd::random_shuffle()
が非推奨(deprecated)になります。
std::rand()
は昔から問題があると指摘されていて(多くの実装で線形合同法が使われていたり、RAND_MAX
が小さかったり)、明確にこの関数の使用を禁止する分野やプロジェクトも多かったので、非推奨になります。std::rand()
の代わりに<random>
ヘッダの乱数生成器と分布を使いましょう。
std::random_shuffle()
はstd::rand()
に依存したアルゴリズムなので、道連れで非推奨になります。std::random_shuffle()
の代わりにstd::shuffle()
を使いましょう。