为什么这是一个指针

时间:2010-11-05 04:57:40

标签: c++

  

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

为什么this是一个指针,而不是参考?可以NULL吗?

2 个答案:

答案 0 :(得分:7)

  

为什么“这个”不是参考?

见Bjarne的回答here

  

因为在添加引用之前,“this”被引入到C ++中(实际上是带有Classes的C语言)。另外,我选择“this”来跟随Simula的使用,而不是(稍后)Smalltalk使用“self”。

答案 1 :(得分:2)

  
    

为什么this是指针?

  

因为它是,而且它正是编程语言的设计方式。 (我认为这也是因为它是从C遗留下来的,但我不确定)。

  
    

而不是参考?

  

如果您需要此参考,请使用*this

  
    

它永远不会是NULL吗?

  

...没有。怎么会这样?