回想起来,将'this'作为参考而不是指针会更好吗?

时间:2010-07-01 22:34:52

标签: c++ language-design

  

可能重复:
  Why ‘this’ is a pointer and not a reference?

除了历史语言决策之外,C ++中的this是否有任何理由成为指针而不是引用?考虑到这一点,感觉有点奇怪。复制构造函数或赋值运算符都接受引用到“that”,而不是指针。

[老实说,我找不到这个问题,虽然它确实感觉可能重复]

2 个答案:

答案 0 :(得分:7)

来自Bjarne Stroustrup的“C ++的设计与演变”,Addison-Wesley,1994,第39-40页:

  

有时候,人们会问为什么this是一个指针而不是一个引用,为什么它被称为this而不是self。当使用Classes将this引入C时,该语言没有引用,C ++借用了Simula而不是Smalltalk的术语。

答案 1 :(得分:4)

References didn't existthis创建时的语言。