为什么this
在 C++ 中被弃用?C++中的this
指针与 Java 中的指针有何不同this
?
还是维基百科错了
早期版本的 C++ 允许更改 this 指针;通过这样做,程序员可以更改方法正在处理的对象。这个特性最终被弃用了,现在 C++ 中的 this 是 const 。
为什么this
在 C++ 中被弃用?C++中的this
指针与 Java 中的指针有何不同this
?
还是维基百科错了
早期版本的 C++ 允许更改 this 指针;通过这样做,程序员可以更改方法正在处理的对象。这个特性最终被弃用了,现在 C++ 中的 this 是 const 。
我相信你的错误在于你如何解释那条线。他们并不是说“此功能已被弃用”。仅仅重新分配this
指针的能力被弃用了。
根据您的编辑,维基百科的文章措辞不佳。this
不推荐使用,只是不推荐使用允许this
更改指针的功能。关键字this
仍然存在。
为什么“这个”不是参考?
因为“this”在添加引用之前被引入 C++(实际上是带类的 C)。另外,我选择“this”来遵循 Simula 的用法,而不是(后来)Smalltalk 使用“self”。
你误解了报价。
早期版本的 C++ 允许更改 this 指针;通过这样做,程序员可以更改方法正在处理的对象。此功能最终被弃用,现在 C++ 中的
const
.
不推荐使用的是this
——指针,而不是它指向的对象——是可变的。
this
本身仍然非常活跃,具有 type prvalue T*
。(GCC 暂时通过在当前的 GCC 4.7.0 中创建一个来模拟这一点。this
)rvalue T* const