可能重复:
值参数的常量正确性
我认为以下是一个很好的编码实践。当参数通过值传递给函数时,它应该只被读取,而不能在函数体中修改(或重用)。但这真的是一个好习惯吗?
示例(我避免做的事情):
int foo(int x){
//do lots of cool stuff
x = 69;
//do even cooler stuff
}
从这里开始,我们得到了 const 的正确性。假设我的实践很好,那么几乎每个函数的每个参数都应该以“const”开头。实际上“a”是乐观的:
class A{
const int gnoo(const int *const, const double) const;
};