采取以下代码段:
struct Foo{
int _m=0;
int Bar(){
return _m;
}
};
int Add(int x, int y){
return x + y;
}
int main(){
int i = 5;
std::cout << i << '\n';
}
在进行代码审查时,不可避免地会带来const correctness。
这导致以下修订:
struct Foo{
int _m=0;
int Bar() const{
return _m;
}
};
int Add(const int x, const int y){
return x + y;
}
int main(){
const int i = 5;
std::cout << i << '\n';
}
当然,编译器可以为我建议吗?
查看
clang
和gcc
,我看不到任何相关的标志。编译器是否选择不提供此功能?
最佳答案
因为他们经常会出错。
您可能会争辩说,这样做对于文件静态类和文件静态函数是有好处的,因为这样,这些项的所有使用对于单个编译单元中的编译器都是可见的(这是此类事情的前提)。但是你有几个呢?
以这种最小的 yield ,花费大量时间将这种功能编程到编译器中根本没有好处。尤其是当您已经有代码审查来代替它时,尤其如此。
但是,专业的静态代码分析工具可能具有此功能。货比三家。
关于c++ - 为什么编译器不能为我建议const?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37148737/