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

发布于 2024-11-29 03:22:53 字数 265 浏览 2 评论 0原文

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

说:

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

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

if i have a function that uses the rand() function as its initialization value, would that value be found when the program compiles, or when the function is run?

say:

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

if it is found at compile time, how can i get the initialization to be dynamic? i guess i would use NULL as the initialization value, but how would i tell the difference between NULL and init = 0?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

掐死时间 2024-12-06 03:22:53

该值是在运行时计算的。

您始终可以创建一个小程序并在实践中检查:

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

The value is calculated in runtime.

You can always create a tiny program and check that on practice:

int main() {
    srand( time(NULL) );
    std::cout << function() << std::endl;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文