Я знаю, что тип this
- prvalue ( "чистый" rvalue ) и что он может быть сделан указателем на константу и/или указателем на летучие (затрагивающим обращения к его переменным экземпляра), добавляя ключевые слова const
или volatile
в конец определения функции к которому он принадлежит.
Я также знаю, что this
иногда (некорректно) описывается как указатель на const, возможно, как способ сказать: "вы не можете назначить this
". Как rvalue, он по своей сути невозможен, и поэтому нет необходимости в концепции const
rvalue.
Я также знаю, что в С++ 11 бывают случаи, когда значение rvalue или lvalue может влиять на разрешение вызова, но я пытался работать с возможностями, и я не уверен, есть ли случай, когда на самом деле было бы называть разрешение, что this
является указателем rvalue, а не указателем const
lvalue.
Есть ли случай, когда это различие имеет реальное значение с точки зрения программиста, например контекст, в котором может использоваться указатель rvalue, который не может использоваться указатель const
lvalue, где указатель const
lvalue может использовать, что указатель rvalue не может или где разница влияет на разрешение вызова?