首頁  >  問答  >  主體

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()么?

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

迷茫迷茫2714 天前902

全部回覆(1)我來回復

  • 天蓬老师

    天蓬老师2017-04-17 13:52:46

    這個問題跟類別的建構子一點關係也沒有啊。

    srand 是個全域函數,不管你在哪裡調用,對同一個進程內之後調用的所有 rand() 都具有相同的影響。

    回覆
    0
  • 取消回覆