c++ - 重载成员访问运算符有什么用?

标签 c++ operator-overloading member-access

<分区>

Possible Duplicate:
Operator overloading

成员访问运算符 -> 可以重载以返回指向数据成员或其他变量的指针。

这个功能用在什么地方? 它解决了哪些编码问题,或者它使哪些事情变得更容易?

最佳答案

成员访问运算符有点奇怪:它旨在返回一个指针或一个重载了成员访问运算符的类。一旦它到达一个指针,它就访问相应的成员。重载成员访问运算符的主要用途是智能指针,例如 std::shared_ptr<T>std::unique_ptr<T> .没有这个运算符,你需要使用类似的东西

sp.get()->member

(*sp).member

代替

sp->member

关于c++ - 重载成员访问运算符有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13440526/

相关文章:

c++ - "T a"、 "T a()"和 "T a=T()"之间有什么区别,其中 T 是一个类?

c++ - 在 C++ 中传递结构时的可选逻辑

Python:引用列表的类对象列表

c++ - 从源代码静态链接 GLEW 与 cmake

c++ - 将文件读入由类项组成的 vector 中

char 类型的 C++ 枚举,被编译器忽略或意外行为?

c++ - 重载 operator= 和重载复制构造函数有什么区别?

c++ - 初始化程序列表和分配重载(运算符=)

c++ - C++代码中的 “Undefined reference to operator<<”错误

c - 将结构数组发送到函数时访问结构数组时出现问题