永发信息网

下标操作符重载问题

答案:1  悬赏:10  手机版
解决时间 2021-03-28 19:58
下标操作符重载问题
最佳答案
确实是重载了。
举个例子:
class Foo {
public:
int &operator[] (const size_t); // 1
const int &operator[] (const size_t) const; // 2
// ...
};
依据主要可以分为以下几条:
1. 非const成员将调用1版本,返回引用可以作为左值。 const成员调用2版本,不能为左值。
2. 成员函数的定义中省却了隐含的this形参,那么版本1其实是
int &operator[] ( Foo *const this, const size_t)。this是一个const指针,但指向非const对象。
版本2其实是
const int &operator[] ( const Foo *const this, const size_t) const。this是一个指向const对象的const指针,为什么多了指向const对象,因为版本2声明中最后的那个const的意义。也许会问了,只是多了一个const,不会重定义,那么依据3.
3. 形参和const形参的等价性仅仅适用于非引用形参,而指针和引用的const版本和非const版本是不等价的。比如说另外定义非成员函数void f(Foo a)和void f(const Foo a)是等价的,而上述重载[]版本明确表明了非等价性。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
热血江湖 账号身份证忘了怎么办
海南社会上乱不乱
求大家,,,图片,各位原谅我的乱画!
这男得长得怎么样!真心评价
陈仲伟 因为什么 被砍?
求男主角很无耻的玄幻魔法小说 像异界风流霸
BEYOND--《遥望》所要传达的意思是什么?
卷睫盼的歌词
电信10000号,晚上有人工服务吗?
pspice 中vsin 和vac的区别
中国有哪些牛逼的纪录片
蓝豆娘的物种介绍
形容“十分疼痛”的成语
哀字里面的口变成臼是什么字
求教:PLC运行灯不亮,一般会是那里的问题
推荐资讯
王国维《人间词》浣溪沙中“一山枫叶被残阳”
液氮储罐中的液氮一般能储存多久
日本人均GDP达到4000美元、美国人均GDP达到11
上面有一个字逢下面有一个字逢成语
外河流是什么意思
2016款路虎创世尊崇黄金版什么报价
达布斯廷阿日吉林我想知道这个在什么地方
曹操墓新发现争议:旁边小墓是弃墓还是长子
麻窝村地址在什么地方,我要处理点事!
电脑开机桌面图标反应慢,如图,这是什么原因
大嫁风尚里小弟喜欢夏然吗
海南,一年中春天是哪几个月,夏天?秋天?冬
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?