Результаты поиска по запросу "structured-bindings"

1 ответ

Хорошая перспектива!

аюсь понять структурированные привязки, представленные в C ++ 17. Объяснение по cppreference [http://en.cppreference.com/w/cpp/language/structured_binding]для меня не очевидно, но похоже cv-auto ref-operator [x, y, z] = ...примерно эквивалентно ...

1 ответ

Ниже приведен полный рабочий пример

вая эти заявления: int a[3] {10,20,30}; std::tuple<int,int,int> b {11,22,33};Я могу использовать объявления структурированной привязки для декодированияa а такжеb: auto [x1,y1,z1] = a; auto [x2,y2,z2] = b;Но еслиx1, y1и т.д. уже существуют, ...

1 ответ

 быть запрещенным, за исключением того факта, что это является излишним. Поэтому мы не можем так написать. Но вот где синтаксис размещает его со структурированной привязкой. Так же, как если бы вы имели

ал набор классов, чтобы позволить простой Python-какzip-функции. Следующий фрагмент работает (почти) так же, как и ожидалось. Тем не менее, две переменныеa а такжеb неconst. std::vector<double> v1{0.0, 1.1, 2.2, 3.3}; std::vector<int> v2{0, 1, ...

ТОП публикаций

2 ответа

 не требуется вообще (очень вероятно, что использовать только один из них; я думаю, что это предусмотрено).

у пройти карту, используя привязки структуры, игнорируя ключ: for (auto& [unused, val] : my_map) do_something(val);Я пробовал разные варианты с gcc-7.2.0: // The warning is issued for ([[maybe_unused]] auto& [unused, val] : ...

2 ответа

Возможный обходной путь - использовать лямбда-захват с инициализатором. Следующий код прекрасно компилируется в 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 }();Тем не менее, ...

0 ответов

); их отсутствие меня никогда не беспокоило, но у меня складывается впечатление, что другие люди с энтузиазмом относятся к этому. Конечно, авторы компиляторов могут быть склонны согласиться с вами больше, чем с нами!

арт 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 году и чья ...

1 ответ

81176

отрим пример:

2 ответа

Код не является реальным кодом, но перевод структурированной привязки делает.

лько мне известно, идентификаторы, представленные структурированными привязками в C ++ 17, на самом деле являются ссылками на некоторую «скрытую» переменную....

2 ответа

Извините, что в итоге я не смог скомпилировать его сам, хотя я мог видеть, что это проблема моей IDE (CLion, которая в настоящее время только наполовину поддерживает C ++ 17), хотя я ожидал, что он будет работать в целом.

ак ответ перечисляет некоторые недостатки объявлений декомпозиции C ++ 17 (функция, ранее известная как «структурированная привязка»). Например, вы не можете...

1 ответ

Почему объявления декомпозиции не могут быть constexpr?