Страницы

Поиск по вопросам

воскресенье, 22 декабря 2019 г.

Можно ли определить переменную не указывая её тип, даже auto?

#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

Комментариев нет:

Отправить комментарий