首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::rand

Defined in header <cstdlib>

?

?

int rand();

?

?

之间的伪随机积分值。?0?RAND_MAX280%和RAND_MAX包括%29

std::srand()使用的伪随机数生成器种子。rand().如果rand()在调用srand(),,,rand()表现得好像它是被播种的srand(1)...

每次rand()种下srand(),它必须在连续调用时产生相同的值序列。标准库中的其他函数可以调用rand,是实现-定义了哪些函数这样做。

它是由实现定义的rand()线程安全。

参数

%280%29

返回值

伪随机积分值?0?RAND_MAX...

注记

所产生的随机序列的质量没有保证。在过去,一些实现rand()在序列的随机性、分布性和周期性等方面都存在严重的缺点,在一个众所周知的例子中产生了%28,低阶位简单地交替。10在呼叫%29之间。

rand()不推荐用于严重的随机数生成需求,例如加密。建议使用C++11%27 s。随机数生成替换兰特%28%29的设施。%28自C++11%29。

二次

代码语言:javascript
复制
#include <cstdlib>
#include <iostream>
#include <ctime>
 
int main() 
{
    std::srand(std::time(0)); // use current time as seed for random generator
    int random_variable = std::rand();
    std::cout << "Random value on [0 " << RAND_MAX << "]: " 
              << random_variable << '\n';
}

二次

可能的产出:

二次

代码语言:javascript
复制
Random value on [0 2147483647]: 1373858591

二次

另见

uniform_int_distribution (C++11)

produces integer values evenly distributed across a range (class template)

srand

seeds pseudo-random number generator (function)

RAND_MAX

maximum possible value generated by std::rand (macro constant)

randint

generates a random integer in the specified range (function template)

c兰德文件

代码语言:txt
复制
 ? cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com