c++ - 关于srand函数的一个疑问

【字号: 日期:2023-05-01浏览:10作者:雯心

问题描述

在写一个程序时,构造了一个Cache类,然后再Cache类的构造函数中,写了这样一段代码:

enum replacement_way { NONE, FIFO, LRU, RAND };class Cache {private:replacement_way ReplcWay;……public:Cache(){……switch (ReplcWay){case FIFO: SelectListInit(); break;case LRU: SelectQueInit(); break;case RAND: srand((unsigned int)time(NULL)); break;default: break;}……}

现在我有一个疑问,就是srand((unsigned int)time(NULL));能作用到同一个Cache的其他public/private函数中的rand()么?

还是只能定义全局函数才能作用到。。。

问题解答

回答1:

这个问题跟类的构造函数一点关系也没有啊。

srand 是个全局函数,不管你在哪里调用,对同一个进程内之后调用的所有 rand() 都具有相同的影响。

相关文章: