我有一個習慣,使用這樣的代碼調試不是很瑣碎寫塊:臨時禁用調試代碼
if(0)
{
// debugging code
}
問題是"warning C4127: conditional expression is constant"
。
我對未來隨時可以刪除的舊代碼保留註釋(但應該保留一段時間纔能有可能遵循原作者的意圖)。我可以使用「#if 0」,但我沒有看到任何可讀性的提高,相反(但這可能是一個口味問題)。
哪個更友好,更具可讀性,免警告解決方案?
(因爲這更多的是關於風格的問題,也許是一個更好的StackExchange的地方)
編輯調試代碼並不等同於調試配置(_DEBUG):通常是內_DEBUG,但我不想污染它,所以我有禁用它if (0)
除了避免編譯器警告,通過預處理器排除條件代碼加快了編譯速度,因爲編譯器根本沒有看到禁用的代碼。而且你不依賴於優化器來發現它可以被消除,所以即使在未優化的版本中,你也可能會得到更小的可執行文件。 – Wyzard 2014-12-05 15:11:19
@Wyzard與可讀性相比,這種優化不算什麼。 – Liviu 2014-12-05 15:17:49
我不認爲'#if 0'比'if(0)'更不可讀。 – Wyzard 2014-12-05 15:18:37