当我们在头文件中有原型时,我们的静态分析工具会抱怨“返回类型上无用的类型限定符”,例如:
const int foo();
我们这样定义它是因为函数返回一个永远不会改变的常量,认为 API 看起来更清晰const
。
为了清楚起见,我觉得这类似于将全局变量显式初始化为零,即使 C 标准已经声明如果未显式初始化,所有全局变量都将初始化为零。归根结底,这真的无关紧要。(但静态分析工具并没有抱怨这一点。)
我的问题是,这有什么原因会导致问题吗?我们应该忽略工具产生的错误,还是应该以不太清晰和一致的 API 为代价来安抚工具?(它返回const char*
工具没有问题的其他常量。)