【发布时间】:2016-08-03 05:24:20
【问题描述】:
我确实理解 const 对于必须通过引用传递给函数的指针或结构的含义。但是在示例中:
void foo(const int a);
变量a 在堆栈上传递。修改堆栈内容对调用者没有害处,因此const 在这种情况下看起来毫无用处。
此外,如果我无法修改a,我仍然可以复制a并更改此副本:
void foo(const int a)
{
int b = a;
b++;
}
const 关键字在应用于标量函数参数(不是指针)时会在什么情况下有用?
【问题讨论】:
-
某事可以做并不意味着它应该做或有用。在这种情况下,正如其他人所说,它可能有用。