【发布时间】:2016-02-08 18:49:58
【问题描述】:
有谁知道 C++ 编译器提供的任何有助于强制执行 const 正确性的警告?例如,如果任何 C++ 方法包含一个从未在方法内部修改过的非常量参数,就会产生警告。我看到有一个名为 -Wsuggest-attribute=const; 的 gnu 编译器警告。但是,当我使用此标志时,我收到一条错误消息,指出它无法识别。任何想法为什么?
【问题讨论】:
-
“const 正确性”实际上与方法参数或局部变量没有太大关系。 cppcheck 可以在类方法上发出样式警告,也可以将其设为 const。
-
-Wsuggest-attribute是关于 GCC 特定的函数属性,而不是关于 const 正确性。__attribute__((const))有点类似于constexpr。
标签: c++ constants compiler-warnings