Не может быть лучше объяснено.

дующем коде, что происходит во время выполнения?

while ( ([]()->bool { return something(); })() ) {
    ...
}
Лямбда-экземпляр создается только один раз и повторно используется в последующих итерациях.Каждая итерация создает новый экземпляр, который используется только один раз.Ничего из вышеперечисленного (пожалуйста, объясните).

Сначала мне кажется очевидным, что он создается заново на каждой итерации, но мне интересно, выполняет ли компилятор какую-то оптимизацию.

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

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