在C++中,为什么this关键字不是引用?

9

2
为什么这是一个指针而不是引用? - GManNickG
1
哎呀,没找够久。 - zneak
3个回答

15

this 概念是在引用概念之前引入的。当时,this 必须是一个指针。来源


2

-2

听起来很疯狂,但实际上delete this;是合法的。有时候甚至是必要的,但非常罕见。


2
那并没有解释为什么它是一个指针。(除非你暗示的理由是delete this需要合法。) - GManNickG
1
你仍然可以执行 delete &this - zneak
3
这句话涉及到“这个”问题和答案,因此是相关的。但仅此而已,我不认为它与问题内容有任何关联。:S - GManNickG
@GMan:请看Richard Corden对原问题的回答(https://dev59.com/a3RB5IYBdhLWcg3wXWO2)。显然,我不是唯一一个认为这是一个相关点的人。 - Dima
我们不谈论正确性,因为我在回答中所说的一切都是真实的。我们谈论的是与问题的相关性,这本质上是一个模糊的概念,也是一个观点问题。我认为稍微超出问题范围是完全合理和有用的。例如,当问题涉及动态分配数组时,您是否同意建议使用std::vector是完全合理的? - Dima
显示剩余7条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接