gpt4 book ai didi

c++ - 附加到函数定义末尾的 Const 关键字......它有什么作用?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:24:02 28 4
gpt4 key购买 nike

假设我在C++中定义了一个函数如下:

void foo(int &x) const {
x = x+10;
}

假设我这样调用它:

int x = 5;
foo(x);

现在通常(没有 const 关键字),这将从调用者的角度成功更改 x 的值,因为变量是通过引用传递的。 const 关键字会改变这个吗? (即从调用者的角度来看,x 的值现在是 15 吗?)

我想我对 const 关键字附加到函数定义末尾时的作用感到困惑...感谢任何帮助。

最佳答案

这行不通。您只能对成员函数 进行 const 限定,而不能对普通的非成员函数进行 const 限定。

对于成员函数,意味着隐式的this参数是const限定的,所以你不能调用任何非const限定的成员函数或修改任何非可变数据成员调用成员函数的类实例。

关于c++ - 附加到函数定义末尾的 Const 关键字......它有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3982496/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com