c++ - “编译过程中若发现使用常量则直接以符号表中的值替换”与“const 可以节省空间,避免不必要的内存分配”是否矛盾?
大家讲道理
大家讲道理 2017-04-17 15:36:57
0
1
672
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

모든 응답(1)
Ty80

비교에 사용된 두 진술은 모두 논쟁의 여지가 있습니다.

컴파일러는 컴파일 시간 상수를 명령어로 접어서 스택에 메모리를 전혀 할당하지 않을 수 있습니다. 여러 개의 동일한 상수를 하나로 결합하여 데이터 세그먼트에 배치하는 것도 가능합니다. 그러한 결정을 내리려면 전체 코드를 분석해야 하며 결정에 영향을 미치는 요소에는 정의 및 const 이상의 것이 포함됩니다.

tldr: 코드를 보고 컴파일 결과를 추측하지 마세요. 신뢰할 수 있는 유일한 비교 방법은 objdump입니다.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿