除了历史语言决策之外,C ++中的this
是否有任何理由成为指针而不是引用?考虑到这一点,感觉有点奇怪。复制构造函数或赋值运算符都接受引用到“that
”,而不是指针。
[老实说,我找不到这个问题,虽然它确实感觉可能重复]
答案 0 :(得分:7)
来自Bjarne Stroustrup的“C ++的设计与演变”,Addison-Wesley,1994,第39-40页:
有时候,人们会问为什么
this
是一个指针而不是一个引用,为什么它被称为this
而不是self
。当使用Classes将this
引入C时,该语言没有引用,C ++借用了Simula而不是Smalltalk的术语。
答案 1 :(得分:4)
References didn't exist用this
创建时的语言。