Skip to content

Commit 5c0e2cc

Browse files
committed
new page cstdlib/rand and add path in cstdlib.md
1 parent dde6371 commit 5c0e2cc

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

reference/cstdlib.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
|------------|------------------------------------------|-----------------|
3333
| `RAND_MAX` | `rand`関数によって生成される値域の最大値を表す整数値マクロ (macro) | C++14から非推奨 |
3434
| [`srand`](cstdlib/srand.md) | `rand`関数によって生成される擬似乱数のシードを指定する (function) | C++14から非推奨 |
35-
| `rand` | `srand`で指定されたシードを元に、擬似乱数を生成する (function) | C++14から非推奨 |
35+
| [`rand`](cstdlib/rand.md) | `srand`で指定されたシードを元に、擬似乱数を生成する (function) | C++14から非推奨 |
3636

3737

3838
## メモリ管理

reference/cstdlib/rand.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# rand
2+
* cstdlib[meta header]
3+
* std[meta namespace]
4+
* function[meta id-type]
5+
6+
## 概要
7+
`0`から`RAND_MAX`までの値の疑似乱数を返す。
8+
9+
[`std::srand()`](srand.md)関数はこの関数の疑似乱数生成器で使用するシード値を決定する。
10+
11+
もし[`std::srand()`](srand.md)の前に、`std::rand()`が使用された場合、`srand(1)`として生成される。
12+
13+
シード値が同じなら、`std::rand()`も同じ値を返す。
14+
15+
また、標準ライブラリの複数の関数で`std::rand()`関数が呼び出される場合がある。
16+
17+
これは実装に依存している。
18+
19+
この関数がスレッドセーフであるかどうかも実装に依存している。
20+
21+
## 備考
22+
この関数の疑似乱数の品質は保証されていない。
23+
24+
より安全な乱数を使いたい場合は`random`ライブラリなどを使用したほうが良い。
25+
26+
##
27+
```cpp example
28+
#include <cstdlib>
29+
#include <ctime>
30+
#include <iostream>
31+
32+
int main()
33+
{
34+
std::srand(std::time(0)); // 現在時刻を疑似乱数のシード値とする。
35+
std::cout << std::rand() << '\n';
36+
}
37+
```
38+
39+
## 出力例
40+
```
41+
1373858591
42+
```
43+
44+
## 関連項目
45+
- [`srand()`](srand.md):この関数の疑似乱数生成器で使用するシード値を決定する。
46+
- [`RAND_MAX`]():この関数で返される疑似乱数の最大値。

0 commit comments

Comments
 (0)