2017-08-08 73 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

按照标准,没有理由警告隐式初始化,它与显式没有区别。如果你足够衍生,你可以用模板来代替传统类型,这些模板会警告它。但是,这样做的目标是失败,对吗?

或者,甚至更好的是,不要使用裸指针,走样色情并不酷。