[英]Const keyword appended to the end of a function definition… what does it do?
假设我在C ++中定义一个函数,如下所示:
void foo(int &x) const {
x = x+10;
}
假设我这样称呼它:
int x = 5;
foo(x);
现在,通常(没有const
关键字),由于变量是通过引用传递的,因此从调用者的角度来看,这将成功更改x
的值。 const
关键字会改变吗? (即从调用者的角度来看, x
的值现在是15吗?)
我猜想当const
关键字附加到函数定义的末尾时会做什么,对此我感到困惑……任何帮助都是值得的。
这行不通。 您只能const限定成员函数 ,而不是普通的非成员函数。
对于成员函数,这意味着隐式的this
参数是const限定的,因此您不能调用任何非const限定的成员函数,也不能修改调用了该成员函数的类实例的任何非可变数据成员。 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.