Страницы

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

четверг, 15 ноября 2018 г.

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

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


Ответ

Такая возможность есть, по-крайней мере, в области захвата лямбда-функции (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 << "
"; };
std::cout << x << "
"; f();
std::cout << x << "
"; std::cout << s << "
"; }
Здесь r имеет тип int&, c - const char*, s (внутри тела лямбды) - std::string.
Вывод:
42 wow 100500 now

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

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