2

我用一个函数创建了一个类,该函数返回一个随机生成pair<int, int>的表示坐标对。在我拥有的函数的开头,srand(time(NULL))我用它rand() % 50来获取随机数对。

它很好用……只要我只有一个对象。如果我有该类的两个不同对象并为每个对象调用函数(我的意思是尝试为此类的两个不同对象生成两个不同的随机坐标),它会为每个对象返回完全相同的坐标对。

回想起来,我可以理解为什么会发生这种情况——因为我是根据当前时间获得随机数的,对吧?但是每次我调用该类的函数时,我应该使用什么方法来返回一个随机对?

4

1 回答 1

1

在功能开始时我有srand(time(NULL))

在程序开始时调用srand() 一次,以后再也不调用了。

PS:考虑使用<random>而不是 C 传统函数。

于 2017-10-11T07:35:35.790 回答