在c ++中为什么我们可以重载`operator - >`并且不能重载`operator``

时间:2017-10-25 09:21:43

标签: c++

在c ++中,为什么我们可以重载operator ->并且不能超载operator .
同样,为什么我们可以重载operator ->*并且不能超载operator .*? 如果你能帮助我,我将不胜感激!

1 个答案:

答案 0 :(得分:4)

Stroustrup实际上将此问题作为website上的常见问题解答。引用他的回答:

  

运营商。 (dot)原则上可以使用与 - >相同的技术重载。但是,这样做会导致对操作是否意味着对象重载的问题。或者被提及的对象。

     

这个问题可以通过几种方式解决。在标准化的时候,哪种方式最好

并不明显

(请注意,Stroustup本身已经提议允许operator.重载,其他人也是如此,因此我们可能会在该语言的未来版本中看到它。)