我应该做所有不应该改变常量的东西吗?
我就是这么做的。即使使用值型函数参数和局部变量也是如此。看起来是个好主意。但是,我的团队领导称它为‘const spam’。他反对声明原始类型,如const
。即使他们本该如此。我只是在想,我应该如何努力让他相信const
是好的。
解决方案
非常困难。他错了。C++一开始就应该使用const
默认值进行设计,大量应用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
。)
相关文章