当前位置:  开发笔记 > 编程语言 > 正文

指针访问运算符 - >如何工作?

如何解决《指针访问运算符->如何工作?》经验,为你挑选了1个好方法。

C++ 11标准说明了重载->运算符(13.5.6"重载/重载运算符/类成员访问"):

表达式x-> m被解释为(x.operator->())->m类型为T的类对象x(如果T::operator->()存在)以及是否通过重载解析机制将运算符选为最佳匹配函数

因此,成员访问operator(->)应用于重载实现的结果(导致某些内容与您的s->->fun()注释相似).这允许过载在实现智能指针或指针代理时"自然地"操作.



1> Michael Burr..:

C++ 11标准说明了重载->运算符(13.5.6"重载/重载运算符/类成员访问"):

表达式x-> m被解释为(x.operator->())->m类型为T的类对象x(如果T::operator->()存在)以及是否通过重载解析机制将运算符选为最佳匹配函数

因此,成员访问operator(->)应用于重载实现的结果(导致某些内容与您的s->->fun()注释相似).这允许过载在实现智能指针或指针代理时"自然地"操作.


如果`operator->`返回一个也有`operator->`的类(不是指针),这也可以'级联'
推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有