为什么赋值运算符返回ref不指针?

Alc*_*ott 3 c++ assignment-operator

我在SO上看到了一些关于Big-Three和复制交换的问答.的确,我学到了一些新东西,但有一点我不太明白.

为什么operator =返回引用而不是指针?

And*_*nck 7

如果您愿意,没有什么可以阻止您返回指针(但是,我不明白为什么),但如果您想在c ++中模仿整数类型的行为,则返回引用.

  • @Alcott:该语言试图使用户定义的类型尽可能类似于基本类型,这只是另一个例子.如果允许使用任何基本类型执行`i = j = k`,您还应该能够使用重载`operator =`的用户定义类型来执行此操作.返回一个指针会让事情变得更加混乱和不一致:`i =*(j = k)`将是*奇怪*来解析... (2认同)