초기화에 Lvalue-Rvalue 변환이 수반됩니까?
초기화에 lvalue-rvalue 변환이 필요한지 여부에 대해 C 11 표준은 여전히 모호합니다. . 그러나 증거에 따르면 달리 지정하지 않는 한 rvalue는 내장 연산자의 피연산자로 예상됩니다. 이 접근 방식은 이니셜라이저의 컨텍스트로 확장되었습니다.
추측: 값에 대해 예상되는 Prvalue
가정 사양은 다음을 포함하여 값이 필요한 모든 곳에서 Prvalue가 예상된다는 것입니다. 초기화 중. 이는 객체를 초기화할 때 lvalue에서 rvalue로의 변환이 필요하다는 것을 의미합니다.
추론의 결과
초기화에서 prvalue가 필요한 경우 다음이 발생합니다.
추가 증거
이 추측을 뒷받침하는 추가 증거는 다음과 같습니다.
결론
제공된 증거에 따르면 가장 가능성 있는 해석은 초기화에서 prvalue를 기대하므로 초기화되지 않은 lvalue를 초기화 프로그램으로 사용할 때 정의되지 않은 동작이 발생한다는 것입니다. . 이 해석은 달리 지정하지 않는 한 내장 연산자에서 rvalue를 기대하는 더 넓은 접근 방식과 일치합니다.
위 내용은 C 초기화에는 Lvalue-Rvalue 변환이 필요합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!