Я прочитал некоторую противоречивую информацию о присвоении значений глобальным переменным при объявлении.Ценность-инициализация глобальных переменных при объявлении
Некоторые, кажется, позволяет это:
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