c++ - 常量和非常量访问器,将被调用
问题描述
我有一个简单的问题,但找不到答案:标准在 const 和非 const 函数之间进行选择的规则是什么。
这是一个例子
#include <iostream>
class B{
int a;
public:
B(int _a) : a(_a){}
const int& getA() const{
std::cout << "CONST\n";
return a;
}
int& getA(){
std::cout << "NON CONST\n";
return a;
}
};
int main(){
B b(3);
b.getA(); //print non const
int a = 3 + b.getA(); //same
};
两个示例都使用非常量版本。我认为它会选择 const 版本,因为没有进行任何修改。
解决方案
推荐阅读
- angular - 结合 Jasmine(单元测试)和 Cypress(E2E 测试)?
- c++ - 使用大型链接库调试应用程序需要大量时间
- kubernetes-metrics - k8s metric server api结果中的“窗口”是什么意思
- rust - Rust:打印作为参数传入的函数的名称
- iis - Firefox 错误“此页面的某些部分不安全(例如图像)”RDS 2016
- python-3.x - Python 使用 xpath 从 HTML 中提取内容
- java - 刷新部署在 Kubernetes 集群中多个 Pod 上的 Spring Boot 应用程序实例中的 bean
- r - 在 R 中,'waiver()' 的功能是什么?
- python - jupyter notebook 上的 Turicreate 无法识别
- flutter - 在颤振中检查连接并根据连接状态更改状态