#include
#include
#include
#include
struct C {
std::string str = {"hello"};
const std::string& get() { return str; }
};
int main() {
C c;
std::function fun =
[&]() { return c.get(); };
std::cout
(@g
< /code>
Я использую Clang ++ 16.0. < /p>
- Если лямбда возвращается по значению, почему компилятор разрешает его связывать с этим STD :: Function < /code>, которая возвращается с помощью ссылки? Возвращение ссылки на ссылку должно быть действительным.
Подробнее здесь: https://stackoverflow.com/questions/797 ... nt-garbage
Мобильная версия