我这样做。即使有值类型的函数参数和局部变量。似乎是个好主意。但是,我的团队负责人将其称为“常见垃圾邮件”。他反对声明原始类型,例如const。即使他们应该。我只是在想我应该多么努力地让他相信const是好的。
答案 0 :(得分:8)
很难。他错了。首先应该使用const
默认设置C ++,并且慷慨地应用const
没有错误。这是一件好事(与团队的领导者不同)。
例如:
void foo()
{
const int x = some_function();
// ^ Now this can't be changed. Good.
// do stuff with `x`
}
类似地:
void foo(const int x) // <-- x can't be changed. Good.
{
// do stuff with `x`
}
void bar()
{
foo(5);
}
不需要做的是通过const
引用接受内置类型的对象,因为这只是毫无意义。
(当然,有时您希望能够更改某个对象的值。在这些情况下,显然不要使用const
。)
答案 1 :(得分:1)
它肯定不会伤害任何东西,它会向读取代码的人发出一个明确的信号,即此变量“不会改变”,这对于修改代码非常重要。