98得票7回答
srand() - 为什么只需要调用一次?

这个问题涉及到关于推荐的srand()初始化方式的评论。第一条评论中提到,srand()在应用程序中只应该被调用一次。为什么会这样呢?

79得票15回答
初始化srand的推荐方法是什么?

我需要一种“好”的方法来初始化C++中的伪随机数生成器。我找到了一篇文章,其中提到: 为了生成类似于随机的数字,srand通常被初始化为某些独特的值,比如与执行时间相关的值。例如,由头文件ctime声明的函数time返回每秒不同的值,这对于大多数随机需求来说已经足够独特了。 Unix时间戳...

46得票4回答
`rand()`函数的实用性 - 或者谁应该调用`srand()`函数?

背景:我的科学计算代码中使用了rand()、std::rand()、std::random_shuffle()等函数。为了能够重现我的结果,我总是明确地指定随机种子,并通过srand()设置它。这一直很好,直到最近,当我发现libxml2在第一次使用时也会惰性地调用srand()——这是在我的...

41得票8回答
使用C++填充向量(vector)的随机数

我有一个向量,想用随机数填充它。然而,每次运行时,向量大部分输出0(它不应该输出0)。在下面的代码中,我做错了什么导致它输出0(它比其他任何数字都更频繁地输出0):vector<int> myVector; srand((unsigned)time(NULL)); int a = ...

28得票3回答
隐式声明函数'time'[-Wimplicit-function-declaration]

每当我尝试使用srand函数时,我会收到这个警告 "implicit declaration of function 'time' [-Wimplicit-function-declaration]|" 当运行已编译的文件时,出现一个Windows错误报告,我是C编程的新手,我在一本教材...

20得票7回答
srand(1)和srand(0)有什么区别?(涉及IT技术)

我刚刚通过困难的方式发现,srand(1) 会将 C(++)的伪随机数生成器重置为在调用 srand 之前的状态(如参考文献中所定义)。 然而,种子0似乎也有相同的效果,或者在调用 srand 之前的状态似乎使用了种子0。 这两个调用之间的区别是什么,或者它们产生相同结果的原因是什么? 例如...

19得票4回答
srand函数与rand函数有什么关联?

我知道rand()函数如果不改变种子数,每次运行都会生成相同的数字。这就是srand()函数的用处所在。由于时间始终在变化,因此我知道应该将time(null)参数传递给srand。我的问题是关于下面来自教程网站的代码。 int main() { int i, n=5; ti...

18得票1回答
srand(time(NULL))有问题吗?

在rand()被视为有害中指出,srand(time(NULL))会存在问题,因为srand需要一个unsigned int参数,但是对于 Microsoft 的编译器而言,默认情况下time_t是一个 64 位数字,因此将发生缩小转换。然而,time_t的定义因实现而异。 由于我在很多地方...

17得票3回答
Rand() % 14 只会生成6或13这两个值。

无论何时我运行以下程序,返回的值总是6或13。#include <iostream> #include <fstream> #include <ctime> #include <cstdlib> using namespace std; //v...

16得票7回答
rand()生成相同的数字 - 即使在我的主函数中使用srand(time(NULL))!

所以,我正在尝试创建一个随机向量(想象一下几何,而不是可扩展的数组),但每次调用我的随机向量函数时,我得到的x值都是相同的,尽管y和z是不同的。int main () { srand ( (unsigned)time(NULL)); Vector<double> a...