ExpertiDict

C++ · Intermediário · Inglês · Técnico

structured binding

ˈstɹʌk.tʃɚd ˈbaɪn.dɪŋsubstantivo

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

Veja também

Todos os termos de C++