我已经阅读了一些有关在声明时将值赋给全局变量的冲突信息。在声明中初始化全局变量值
有些人似乎允许这样的:
int g_int = 5;
有的则说,必须在主被initalized:
int g_int;
int main() {
g_int = 5;
}
我个人使用在Visual Studio 2008 - 2013年的第一个样式没有任何问题。
- 这是合法的C++吗?
- 如果它没有在C++中定义,它仍然是MSVC和g ++中的编译器定义的行为?
- 如果它是合法的,函数结果的赋值也是合法的,函数调用保证在
main
之前执行?例如。time_t g_starttime = time();
?
'g_int = 5; '不是主要初始化。这是任务。 – NathanOliver