c++ - 关于srand函数的一个疑问
本文介绍了c++ - 关于srand函数的一个疑问的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
在写一个程序时,构造了一个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()么?
还是只能定义全局函数才能作用到。。。
解决方案
这个问题跟类的构造函数一点关系也没有啊。
srand
是个全局函数,不管你在哪里调用,对同一个进程内之后调用的所有 rand()
都具有相同的影响。
这篇关于c++ - 关于srand函数的一个疑问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文