2017-08-08 77 views
3

說我有這樣一個全球性的(或命名空間範圍的)變量:當C++全局變量未被顯式初始化時警告?

int *Pointer; 

這,當然,初始化爲零,但有在鏘(或鏗鏘的靜態分析工具)的方式來警告Pointer未被明確初始化?我已經搜索並找不到任何東西。

+1

我很確定你可以很容易地寫(和貢獻)一個[clang-tidy](http://clang.llvm.org/extra/clang-tidy/)檢查來抱怨。 –

+1

如果您還沒有看到它們......叮噹診斷標誌列表:https://clang.llvm.org/docs/DiagnosticsReference.html。 –

+0

@RSahu是的,我通過「診斷參考」頁面進行搜索。 – oconnor0

回答

2

按照標準,沒有理由警告隱式初始化,它與顯式沒有區別。如果你足夠衍生,你可以用模板來代替傳統類型,這些模板會警告它。但是,這樣做的目標是失敗,對嗎?

或者,甚至更好的是,不要使用裸指針,走樣色情並不酷。