Léxico de TI › Programação › Bindings estruturados

Bindings estruturados

Programação Svenska → Atualizado: 2026-10-01

A sintaxe auto [a, b] = expr; do C++17, que desempacota um valor composto em vários nomes de uma só vez.

Três tipos de dado são aceitos: arrays comuns, structs com membros públicos e qualquer coisa que implemente o protocolo de tupla — é assim que funciona com std::pair e std::tuple. O benefício do dia a dia é que percorrer um map vira for (const auto& [key, value] : m) em vez de it->first e it->second, o que, além de mais legível, elimina uma confusão clássica. Retornar vários valores de uma função também deixou de exigir parâmetros de saída. Alguns detalhes surpreendem: os nomes não são variáveis, e sim bindings para um objeto oculto, e não dá para pular um componente que você não quer — escrever _ é um nome comum, vinculado como os outros.

← Voltar ao léxico