首頁  >  問答  >  主體

c++ - “编译过程中若发现使用常量则直接以符号表中的值替换”与“const 可以节省空间,避免不必要的内存分配”是否矛盾?

大家讲道理大家讲道理2765 天前645

全部回覆(1)我來回復

  • PHP中文网

    PHP中文网2017-04-17 15:38:57

    你用來比較的兩個說法都有可商榷之處。

    編譯器 可能 把編譯期常數折到指令中,完全不在堆疊上分配記憶體。也 可能 把多個相同的常數合併成一份放在資料段中。做這樣的決定需要分析完整程式碼,影響決定的因素不只define和const。

    tldr: 不要看程式碼憑空猜編譯結果,可靠的比較方法只有objdump。

    回覆
    0
  • 取消回覆