ограничение режима захвата по умолчанию и 'this' в лямбда-выражении C ++

мне интересно, почему= Захват по умолчанию режим запрещаетthis вЗахват-лист C ++лямбда-выражение.

То есть,

[=, this]{ };  // error
[&, this]{ };  // OK

Это указано в C ++ 11 5.1.2 / 8.

Если лямбда-захват включает в себя захват по умолчанию, то есть &идентификаторам в лямбда-захвате не должно предшествовать &.Если лямбда-захват включает в себя захват-по умолчанию, то есть =, лямбда-захват не должен содержать это, и каждому идентификатору, который он содержит, должен предшествовать &.

В: Есть ли какая-либо причина или предыстория для этого правила?

Ответы на вопрос(1)

Ваш ответ на вопрос