gpt4 book ai didi

c++ - 为什么编译器不能为我建议 const?

转载 作者:行者123 更新时间:2023-11-30 05:27:41 26 4
gpt4 key购买 nike

采用以下代码片段:

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';
}

编译器肯定可以为我建议吗?
查看 clanggcc,我没有看到任何相关的标志。

编译器选择不提供这个有什么原因吗?

最佳答案

因为他们往往会弄错。

您可能会争辩说这样做对文件静态类文件静态函数有好处,因为编译器可以看到这些项目的所有使用在单个编译单元中(这是这种事情的先决条件)。但是你有多少这样的人?

花费大量时间将这种能力编程到编译器中,以获得如此微不足道的 yield ,根本没有任何好处。尤其是当您已经有代码审查来代替它时。

不过,专业的静态代码分析工具可能具有此功能。货比三家。

关于c++ - 为什么编译器不能为我建议 const?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37148737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com