다음은 정의되지 않은 동작을 호출합니까? 좌변 참조 처 오브젝트 타입 T 의 목적은 아니며 유래의 유형의 객체가 아닌 경우 C++ 03불확정 값으로 객체 초기화
(4.1/1)에서
는int x; int i = x;
참조 T 또는 개체가 초기화되지 않은이면이 변환이 필요한 프로그램에 정의되지 않은 동작이 있습니다.
편집 : 그러나,에서 (3.3.1/1) 객체가 그 이유는, 자신의 indetermine 값으로 초기화 할 수있다? 즉
int x = x; //not an undefined behaviour
필자가 사용하는 컴파일러에 달려 있다고 말할 수 있습니다. 그러나 예, 프로그래머의 관점에서 볼 때 정의되지 않은 동작입니다. 보통,'x'와'i' 모두에 쓰레기가 생깁니다. – frarees
@frarees "_it는 컴파일러에 따라 다릅니다."아니요. 뭔가 행동을 정의했는지 여부입니다. – curiousguy
글쎄, 필자는 컴파일러가 정의 될 때'x'에 값 0이 할당되고 값이 할당되지 않는다고 들었 기 때문에 그렇게 말했습니다. 또한,이 경우 나는 행동에 대해 이야기 할 때 마침내 얻는 가치를 언급합니다. – frarees