균일 초기화 프로그램과 가장 까다로운 구문 분석 이해
C 11에서 균일 초기화 프로그램은 객체와 데이터 구조를 초기화하기 위한 간결한 구문을 제공합니다. 그러나 이를 사용하면 "가장 짜증나는 구문 분석"이라고 알려진 잠재적인 모호성이 발생할 수 있습니다.
가장 짜증나는 구문 분석
다음 코드 조각을 고려하세요.
<code class="cpp">#include<iostream> class Timer { public: Timer() {} }; int main() { auto dv = Timer(); // What is Timer() ? And what type is dv? int time_keeper(Timer()); // This is a function right? And why isn't the argument " Timer (*) ()"? return 0; }</code>
분석:
dv = Timer();
int time_keeper(Timer());
결론:
"가장 짜증나는 구문 분석" 시나리오에서 컴파일러는 구문 분석의 유형과 해석을 추론하려고 시도합니다. 문맥과 규칙에 기초한 표현. 이러한 규칙이 어떻게 적용되는지 이해함으로써 프로그래머는 모호성을 피하고 명확한 의도를 가지고 코드를 작성할 수 있습니다.
위 내용은 가장 짜증나는 구문 분석은 무엇이며 왜 C 11에서 발생합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!