C++ primer里面的题目:
struct Integral{
operator const int();
operator int() const;
};
如:
Integral itg;
int i = itg;
const int j = itg;
总是会调用operator const int(); 只有注释掉第一个才会调用第二个。
为什么?
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函数
const对象匹配const函数
5
不要纠结各种常量了,这个世界上唯一不变的就是变化。用API WriteProcessMemory还能修改正运行的其它进程的内存里面的所谓常量呢!
5
本人来解释一波
第一个返回值返回值类型是const
第二个定义了一个成员静态函数
本人以前总结了const的用法,你可以参考一下!
http://blog.csdn.net/zycxnanwang/article/details/51637091
第一个返回值返回值类型是const
第二个定义了一个成员静态函数
本人以前总结了const的用法,你可以参考一下!
http://blog.csdn.net/zycxnanwang/article/details/51637091