Результаты поиска по запросу "structured-bindings"
Код не является реальным кодом, но перевод структурированной привязки делает.
лько мне известно, идентификаторы, представленные структурированными привязками в C ++ 17, на самом деле являются ссылками на некоторую «скрытую» переменную....
Возможный обходной путь - использовать лямбда-захват с инициализатором. Следующий код прекрасно компилируется в Visual Studio 2017 15.5.
ощью следующего кода я получаю ошибку компиляцииC2065 'a': undeclared identifier (с использованием visual studio 2017): [] { auto [a, b] = [] {return std::make_tuple(1, 2); }(); auto r = [&] {return a; }(); //error C2065 }();Тем не менее, ...
); их отсутствие меня никогда не беспокоило, но у меня складывается впечатление, что другие люди с энтузиазмом относятся к этому. Конечно, авторы компиляторов могут быть склонны согласиться с вами больше, чем с нами!
арт C ++ 17 вводит новыйструктурированные привязки [http://en.cppreference.com/w/cpp/language/structured_binding]особенность, которая была изначальнопредложил [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0144r0.pdf]в 2015 году и чья ...
Извините, что в итоге я не смог скомпилировать его сам, хотя я мог видеть, что это проблема моей IDE (CLion, которая в настоящее время только наполовину поддерживает C ++ 17), хотя я ожидал, что он будет работать в целом.
ак ответ перечисляет некоторые недостатки объявлений декомпозиции C ++ 17 (функция, ранее известная как «структурированная привязка»). Например, вы не можете...
81176
отрим пример:
не требуется вообще (очень вероятно, что использовать только один из них; я думаю, что это предусмотрено).
у пройти карту, используя привязки структуры, игнорируя ключ: for (auto& [unused, val] : my_map) do_something(val);Я пробовал разные варианты с gcc-7.2.0: // The warning is issued for ([[maybe_unused]] auto& [unused, val] : ...
Хорошая перспектива!
аюсь понять структурированные привязки, представленные в C ++ 17. Объяснение по cppreference [http://en.cppreference.com/w/cpp/language/structured_binding]для меня не очевидно, но похоже cv-auto ref-operator [x, y, z] = ...примерно эквивалентно ...
Страница 1 из 2