<分区>
作为我just learned , 对于指针 p
有两种等效的方法访问引用对象的成员,即 p->foo
和 (*p).foo
.
是否有最好使用的技术参数?
注意:我读到的一个论点是 .
更安全,因为它不能重载,而 ->
可以。然而,我想肯定还有更多参数,因为在我处理的大多数 C++ 代码中,我只看到 ->
-construct。
<分区>
作为我just learned , 对于指针 p
有两种等效的方法访问引用对象的成员,即 p->foo
和 (*p).foo
.
是否有最好使用的技术参数?
注意:我读到的一个论点是 .
更安全,因为它不能重载,而 ->
可以。然而,我想肯定还有更多参数,因为在我处理的大多数 C++ 代码中,我只看到 ->
-construct。
最佳答案
对于原始指针,运算符不能被重载。
对于智能指针,operator *
也可以重载,并且应该返回与 operator ->
相同的对象(尽管取消引用)。
在我看来,运算符 ->
比将所有内容都放在括号中可读性更好,尤其是当您连续多次使用它时。
operator ->
是链式的(operator ->
在返回的对象上调用,它可以再次被重载)而 operator 有一点不同*
不是,但以不同的结果结束的情况并不常见。
关于c++ - 我应该更喜欢点 (.) 还是箭头 (->) 运算符来访问 C++ 中的指针成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36352286/