OS가 관련이있는 경우 g ++을 Ubuntu 10.10 (64 비트)에서 사용하고 있습니다. 내가 뭔가 이상한 그래서 확인하기로 결정보고 어떤 이유로이 코드G ++ 4.4 "초기화되지 않은"변수
#include <iostream>
int main()
{
int a;
std::cout << a << std::endl;
return 0;
}
는 항상 0이 분명히 g ++ 해당 널 (null) 값으로 초기화되지 않은 변수의 자동 초기화를 수행 인쇄합니다. 적어도이 기능을 해제하거나, 초기화되지 않은 변수를 사용하는 것에 대한 g ++ 표시 경고를 만드십시오. VS에서 컴파일 될 때 내 코드가 제대로 작동하지 않기 때문입니다. 게다가 나는 C++ 표준에서 암시 적으로 어떤 값으로 초기화되지 않은 변수는 정의되지 않은 값을 가질 수 있다는 것을 확신합니다. 가능한 값은 사실 프로그램의 모든 실행마다 달라야합니다. 운영 메모리는 실행될 때마다 사용됩니다.
명시 적 질문 : 초기화되지 않은 변수에 대해 g ++ 표시 경고를 표시하는 방법이 있습니까?
-Wall http://www.network-theory.co.uk/docs/gccintro/gccintro_30.html – Anycorn
실제 질문이 아닙니다. –
"정의되지 않은"이란 의미는 그 표준이 어떤 일이 일어날 지 말하지 않는다는 것을 의미합니다. 사용 가능한 모든 구현이 모든 상황에서 똑같은 일을 할 가능성을 배제하지 않습니다. 특히, 당신이 다른 가치에 의지 할 수있는 경우에, 그것은 행동의 일종의 정의 일 것입니다. –