С++ 17 добавит копирование этого объекта по значению с спецификацией захвата [*this]
.
Как это полезно? Как это отличается от захвата this
? Не может ли это уже достигнуто в С++ 14 с [tmp = *this]
?
Бонус за объяснение, почему P0018R3 использует [=, tmp = *this]
вместо [tmp = *this]
в своем примере. Если они использовали [tmp = *this]
, все перечисленные недостатки решения С++ 14 были бы устранены.