gpt4 book ai didi

c++ - 我可以用函数调用的结果初始化一个全局变量吗?

转载 作者:IT老高 更新时间:2023-10-28 23:14:18 26 4
gpt4 key购买 nike

下面的代码合法吗?

int add(int a, int b) { return a + b; }

int some_global_variable = add(1, 2);

int main() { /* ... */ }

最佳答案

Yes. Yes, it is.

静态初始化器可以调用函数,只要它们在作用域内。

[dcl.decl](2003 年措辞,8/2):

Initial values can also be specified in a declarator; initializers are discussed in 8.5 and 12.6.

[dcl.init](2003 年措辞,8.5/2):

Automatic, register, static, and external variables of namespace scope can be initialized by arbitrary expressions involving literals and previously declared variables and functions.

(不要被缺少 static 关键字所误导,它具有各种含义。您的变量 myvar 是在命名空间范围内声明的,因此具有静态存储时长。)

关于c++ - 我可以用函数调用的结果初始化一个全局变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6337426/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com