可以在c++中初始化全局变量吗?如果可能,允许使用什么值?

最佳答案

是的,您当然可以初始化全局变量。对于内置类型,可以使用可用于赋值的任何值(也可以初始化无法赋值的数组)。对于类类型,由您决定在设计类时允许(和/或要求)哪些类型/值。对于预定义的类,您基本上必须查阅文档以了解其允许/需要的内容。

但最终,它是全局变量这一事实并不影响可以提供的值。但是,成为全局变量会影响如何获取值-特别是,显然,在完成初始化后,您显然无法使用尚不可用的值。这可能比起初看起来有些微妙,因为与全局变量的初始化顺序相比,几乎没有保证,因此(例如)在执行全局变量的构造函数时,std::cinstd::coutstd::cerr可能会尚未构建,因此如果您要基于用户的输入来初始化某些内容,则可能必须采取特殊步骤以确保初始化的顺序,或者(例如)针对该特定对象使用C风格的I / O工作。

关于c++ - 你可以在C++中初始化什么全局变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5846233/

10-09 06:14
查看更多