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

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

全員に返信(1)
Ty80

比較に使用した 2 つのステートメントはどちらも議論の余地があります。

コンパイラは、コンパイル時の定数を命令に折り畳んで、スタックにメモリをまったく割り当てない可能性があります。複数の同一の定数を 1 つに結合してデータ セグメントに配置することも可能です。このような決定を下すには、コード全体を分析する必要があり、決定に影響を与える要素には、define と const だけではありません。

tldr: コードを見てコンパイル結果を推測しないでください。唯一信頼できる比較方法は objdump です。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート