3

我这样做。即使使用值类型的函数参数和局部变量。似乎是个好主意。但是,我团队的领导称其为'const spam'。他反对声明原始类型,例如const. 即使他们应该是。我只是在想我应该如何努力说服他这const是好的。

4

2 回答 2

14

很难。他错了。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.)

于 2013-04-11T13:28:14.147 回答
3

它当然不会伤害任何东西,它会向稍后阅读代码的人发出一个明确的信号,即这个变量“不会改变”,在修改代码时知道这一点非常重要。

于 2013-04-11T13:29:00.920 回答