C++ · Intermediário · Inglês · Técnico
structured binding
Sintaxe do C++17, como auto [a, b] = expr, que declara vários nomes a partir de um par, tupla, struct ou array, cada um ligado a um elemento.
Onde usar
Torna laços sobre map mais legíveis, como for (auto& [chave, valor] : m). Em review, ajuda a trocar first e second por nomes claros.
Em código
std::map<std::string, int> m{{"a", 1}};
for (auto& [k, v] : m) {
v += 10;
std::cout << k << v;
}Exemplos
Use a structured binding to unpack the pair.
Use um structured binding para desempacotar o par.
for auto& [k, v] reads better than first and second.
for auto& [k, v] lê melhor que first e second.
Cuidado
Sem o & em auto, o objeto é copiado; para alterar o original, use auto&.
Sinônimos
decomposição