#cpp
Можно ли в C++ определить переменную, не указывая явно её тип (даже auto)?
Ответы
Ответ 1
Такая возможность есть, по-крайней мере, в области захвата лямбда-функции (c++14). Отсутствие типа в данном контексте воспринимается так же как если бы переменная была объявлена с типом auto в локальном контексте. Пример: #include#include int main() { int x = 42; const std::string s = "now"; auto f = [&r = x, c = "text", s = s]() mutable { r = 100500; s[0] = 'w'; std::cout << s << "\n"; }; std::cout << x << "\n"; f(); std::cout << x << "\n"; std::cout << s << "\n"; } Здесь r имеет тип int&, c - const char*, s (внутри тела лямбды) - std::string. Вывод: 42 wow 100500 now
Комментариев нет:
Отправить комментарий