最終更新日時(UTC):
が更新

履歴 編集

function
<cstdlib>

std::rand

namespace std {
  int rand();
}

概要

0からRAND_MAXまでの値の疑似乱数を返す。

std::srand()関数はこの関数の疑似乱数生成器で使用するシード値を決定する。

もしstd::srand()の前に、std::rand()が使用された場合、srand(1)として生成される。

シード値が同じなら、std::rand()も同じ値を返す。

また、標準ライブラリの複数の関数でstd::rand()関数が呼び出される場合がある。

これは実装に依存している。

この関数がスレッドセーフであるかどうかも実装に依存している。

備考

この関数の疑似乱数の品質は保証されていない。

より安全な乱数を使いたい場合はrandomライブラリなどを使用したほうが良い。

#include <cstdlib>
#include <ctime>
#include <iostream>

int main() 
{
  std::srand(std::time(0)); // 現在時刻を疑似乱数のシード値とする。
  std::cout << std::rand() << '\n';
}

出力例

1373858591

関連項目

  • srand():この関数の疑似乱数生成器で使用するシード値を決定する。
  • RAND_MAX:この関数で返される疑似乱数の最大値。
  • random:より安全な乱数生成ライブラリ。