【发布时间】:2016-02-09 22:44:13
【问题描述】:
我知道type of this 是一个prvalue(“纯”右值)指针,并且可以将其设为指向 const 和/或指向 volatile 的指针(影响对其实例变量的访问) ),通过将关键字 const 或 volatile 附加到它所属的函数定义的末尾。
我也知道 this 有时(不正确地)被描述为一个 const 指针,也许是在说“你不能给 this 赋值”。作为右值,它本质上是不可赋值的,因此不需要const 右值的概念。
我也知道在 C++11 中,存在右值或左值会影响调用解析的情况,但我已尝试解决这些可能性,但我不确定是否存在这样的情况实际上,将this 称为右值指针而不是const 左值指针的解析很重要。
从程序员的角度来看,是否存在这种区别真正不同的情况,例如可以使用右值指针但不能使用const 左值指针的上下文,而const 左值指针可以用于右值指针不能使用,或者差异影响调用分辨率的地方?
【问题讨论】:
标签: c++ c++11 this language-lawyer