숨은 처리를 드러내기
자동으로 제공되는 특수 멤버 함수와 형 변환, 연산자 호출 등을 더 명시적인 형태로 살펴볼 수 있다. 람다와 범위 기반 반복문, 구조적 바인딩 등의 변환도 코드 이해에 활용한다. 추론된 타입을 확인하는 데도 도움이 된다.
어셈블리와 다른 관점
기계어 명령의 배치를 보는 대신 익숙한 소스 언어 형태로 해석 결과를 설명하는 것이 목적이다. 구문 트리 출력과도 표현 방식이 다르다. 최적화 이후 실제로 어떤 기계어가 실행되는지 알고 싶다면 별도의 출력과 측정이 필요하다.
학습용 해석의 한계
출력은 Clang의 구문 트리 해석을 바탕으로 한다. 모든 변환 결과가 다시 컴파일 가능한 코드가 되는 것은 아니다. 특정 출력만으로 언어 표준 전체를 일반화하기보다 입력 조건과 사용 버전을 확인하고 궁금한 동작을 작은 예제로 나누어 살펴본다.