gpt4 book ai didi

C++ primer 5 Ed 全局对象

转载 作者:行者123 更新时间:2023-11-28 01:16:52 27 4
gpt4 key购买 nike

在 C++ primer 5 Ed 第 12 章中:动态内存。据说:“静态对象在它们之前被分配被使用,并在程序结束时被销毁。”

这是否意味着全局对象在控制通过它们的声明之前被定义和初始化。

我有这个例子:

constexpr double PI = 3.14;

double Perim(double rad) {
std::cin.get(); // I want to block here waiting for user interaction
return rad * 2 * PI;
}

constexpr double radius = 4.16;
double perim = Perim(radius); // Perim will blcok until user presses a key
int y;

所以上面的 y 是在用户按下某个键之前创建和初始化的,还是等到控制通过它的定义时才创建和初始化?

最佳答案

如果您发布的代码在全局 namespace 中,那么 y 将在 main 之前分配并设置为 0 > 运行。但是,它只能在声明和定义它的行之后使用。

关于C++ primer 5 Ed 全局对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58421524/

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