operator const in()与operator int() const的区别

C++语言 码拜 5年前 (2016-05-28) 835次浏览
C++ primer里面的题目:
struct Integral{
operator const int();
operator int() const;
};
如:
Integral itg;
int i = itg;
const int j = itg;
总是会调用operator const int(); 只有注释掉第一个才会调用第二个。
为什么?
解决方案

10

假如重装了const函数,非const对象首先匹配的是非const函数,假如没有匹配const函数
const对象匹配const函数

5

不要纠结各种常量了,这个世界上唯一不变的就是变化。用API WriteProcessMemory还能修改正运行的其它进程的内存里面的所谓常量呢!

5

本人来解释一波
第一个返回值返回值类型是const
第二个定义了一个成员静态函数
本人以前总结了const的用法,你可以参考一下!
http://blog.csdn.net/zycxnanwang/article/details/51637091

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明operator const in()与operator int() const的区别
喜欢 (0)
[1034331897@qq.com]
分享 (0)