初始化值是在编译时还是运行时计算的?

时间:2011-08-11 01:08:30

标签: c++ runtime compile-time variable-initialization

如果我有一个使用rand()函数作为其初始化值的函数,那么在程序编译时,或者函数运行时会找到该值吗?

说:

int function(int init = rand()){
  return init;
}

如果在编译时找到它,我怎样才能使初始化成为动态的?我想我会使用NULL作为初始化值,但我如何区分NULLinit = 0

1 个答案:

答案 0 :(得分:6)

该值在运行时计算。

您可以随时创建一个小程序并在练习中检查:

int main() {
    srand( time(NULL) );
    std::cout << function() << std::endl;
}