Enlaces estructurados en C++
Desempaca pares y entradas de map en variables con nombre — se acabaron .first y .second.
#include <map>
#include <string>
#include <utility>
std::pair<std::string, int> best_seller(
const std::map<std::string, int> &sales) {
std::string top;
int most = -1;
for (const auto &[name, count] : sales) {
if (count > most) {
top = name;
most = count;
}
}
return {top, most};
}
// unpack the winning pair
auto [name, sold] = best_seller({{"tea", 40}, {"coffee", 55}});
Cómo funciona
const auto &[name, count]divide cada entrada del map mientras el for de rangos recorre las ventas.- La función devuelve un
std::pairarmado con llaves:{top, most}. auto [name, sold]desempaca el par devuelto directo en dos nombres nuevos.
Palabras clave y builtins usados aquí
autoconstforifintreturn
El intento, en números
- Líneas
- 19
- Caracteres a escribir
- 374
- Tokens
- 119
- Ritmo de tres estrellas
- 75 tpm
Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 95 segundos.
Paso 2 de 3 en Toques modernos; paso 23 de 27 en Fundamentos del lenguaje.