【发布时间】:2020-09-26 07:40:18
【问题描述】:
我知道有很多可用于 c++ 的静态分析工具。但是,在谷歌搜索时,我找不到一个似乎能够警告可能已标记为 const 但不是的值和函数。
所以特别是如果我有这样的功能:
int add(int a, const int b) {
int result = a + b;
return result;
}
我希望该工具就变量 a 和 result 向我发出警告(或发出错误),这两个变量本来可以标记为 const,但没有。
此外,如果add 是一个成员函数,我还想被警告它没有被声明为`const。
因此,对于一个人来说,我想要一个工具来帮助我强制执行 const 正确性,如果可能的话,它应该超越它,并且应该让我在我的代码当前允许的每一种情况下都使用 const。
是否有可以为 c++ 执行此操作的工具?或者这甚至是一个编译器选项,例如clang 好像找不到?
我在想,如果还没有可用的工具,也许这可以用clang-tidy 来完成......
【问题讨论】:
-
如果回答“是”或“否”,你会怎么做?
-
是的,有这样的工具。询问哪些工具不是on-topic。
-
我认为您可以配置 CLion 来执行此操作。
-
我猜你可以写一个clang-tidy检查来做到这一点。
-
似乎 clang-tidy 已经可以做到这一点:clang.llvm.org/extra/clang-tidy/checks/…
标签: c++ static-analysis