在C ++入门5中,第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
之前分配0
并将其设置为main
。但是,只能在声明和定义该行之后使用它。