C++问题
来源:互联网 发布:网络暴走好声音 编辑:程序博客网 时间:2024/05/22 13:32
(a)Sales_data &conbine(Sales_data );
(b)Sales_data &conbine(Sale_data &);
当我们调用i.conbine(s)的时候:
s是个字符串,当构造函数没有加explicit会隐士转换成类对象
(a)是正确的 编译器首先为s生成一个Sales_data对象,然后将这个临时对象
传递给conbine做参数
(b)无法编译通过 因为conbine的参数是一个非常量的引用,而s是个string对象,
编译器用s生成一个Sales_data临时对象,这个临时对象时无法传递给conbine参数的.
如果我们把函数声明修改为
Sales_data &conbine( const Sales_data&)就正确了
因为生成的临时对象是右值,不能初始化非常量引用.
int &reft; //引用只能引用左值,他是个会变的,所以不能引用右值
const int &ref;//引用既可以引用左值,也可以引用右值
0 0
- C问题
- c问题
- c问题
- c问题
- C问题
- C++/C 颜色问题
- C++/C const问题
- 问题 C: 背包问题
- C/C++"野指针"问题
- <c:set> c:forEach> 问题
- 【C/C++】运算符问题
- 【C/C++】指针基本问题
- C/C++:全排列问题
- 【C/C++】sizeof问题总结
- C++/C 数组初始化问题
- XUNUOJ 问题 C: 背包问题
- 问题 C: 数字排序问题
- C编程问题精粹
- ubuntu下opencv的配置
- 阿里巴巴校招内推简历筛选方案(总结篇)
- iOS开发雕虫小技之傻瓜式定位神器-超简单方式解决iOS后台定时定位
- 旅行记录
- ZOJ1654 Place the Robots (二分图匹配)
- C++问题
- 准零基础搞懂FFT快速傅里叶变换及其实现程序(一)
- 欢乐喜剧人之个人见解
- MapReduce实例解析
- Deep Learning 工具 Torch7安装与使用
- HDOJ 题目4276 The Ghost Blows Light(SPFA+树形DP)
- java学习笔记(五)collections--vector
- 准零基础搞懂FFT快速傅里叶变换及其实现程序(二)
- 数组和指针的区别