Вопросы по теме 'structured-bindings'
Почему включение ‹utility› нарушает структурированные привязки в GCC?
Рассмотреть возможность:
struct Point { int x, y; };
int main()
{
const auto [x, y] = Point{};
}
Этот код отлично компилируется с gcc 7.1 в режиме С++ 17, однако этот:
#include <utility>
struct Point { int x, y; };
int...
1054 просмотров
schedule
03.02.2023
объявление функции для структурированных привязок
Можно ли использовать структурированные привязки только с какой-либо «структурой» в качестве возвращаемого значения?
Верните любой класс/структуру, например. кортеж здесь отлично работает:
auto f()
{
return std::make_tuple(1,2.2);
}...
672 просмотров
schedule
17.06.2022
Структурированные привязки для вашего собственного типа, который не является структурой или кортежем (через общедоступную функцию-член)
Я прохожу через Herb Sutter's
Путешествие: к более мощному и простому программированию на C++
Связывание структуры
Чтобы понять концепцию. Лучше всего написать программу, которую я пробовал, но получаю какую-то ошибку.
Просто хочу...
4209 просмотров
schedule
25.02.2024
Структурированная привязка и галстук ()
Учитывая эти декларации:
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 ,...
1106 просмотров
schedule
04.01.2023
структурированные привязки с std::minmax и rvalues
Я столкнулся с довольно тонкой ошибкой при использовании std::minmax со структурированными привязками. Похоже, что переданные rvalue не всегда будут копироваться, как можно было бы ожидать. Первоначально я использовал T operator[]() const в...
1195 просмотров
schedule
24.03.2023
Цикл for на основе диапазона на unordered_map и ссылках [дубликаты]
При запуске цикла for на основе диапазона на std::unordered_map оказывается, что тип переменной цикла не использует ссылочные типы:
std::unordered_map<int, int> map = { {0, 1}, {1, 2}, {2, 3} };
for(auto&[l, r] : map)...
1528 просмотров
schedule
28.02.2023
Не удалось обойти ошибку структурированной привязки g++ 7.1 с помощью Boost.Bimap
В моем проекте я использую Boost.Bimap для реализации двунаправленных карт.
Посмотрите на этот очень простой MCVE на godbolt , где я использую структурированная привязка для печати пары ключ-значение правой карты (которая, согласно...
111 просмотров
schedule
28.07.2022
Почему структурированное связывание вводит переменные как значения, а не ссылки?
Я изучаю объявления структурированной привязки. Насколько я понял, в auto& [x, y] = expr; введены переменные x и y типа "ссылка на std::tuple_element<i, E>::type " (ибо i=0, 1 и E это тип невидимой переменной e ). Более того,...
439 просмотров
schedule
29.05.2023
Расширение языка c++17 и флаг std:c++17
Меня смущают разные ошибки в Visual Studio 2017 (версия 15.9.11):
'if constexpr' is a C++17 language extension
а также
language feature 'structured bindings' requires compiler flag '/std:c++17'
Я знаю, что добавление флага /std:c++17...
304 просмотров
schedule
18.08.2022