微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么在类成员函数 C++ 中两次使用关键字“const”

如何解决为什么在类成员函数 C++ 中两次使用关键字“const”

我一直在类似这样的类中运行函数定义:

//Accessor function
const string getName() const {
    return name;
}

我的问题是:为什么“const”这个词出现了两次。我知道定义末尾的“const”有助于保护原始成员信息,但第一个“const”有什么作用?

解决方法

第一个 const 将返回值限定为不可修改;第二个 const 指定函数不会修改调用它的类实例(或其任何成员)。

第一个在函数返回对成员的引用时更常用,以防止返回的引用被用于修改它所引用的成员。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。