Как избежать скамейками, если условия
У меня есть заполненная карта, которую мне нужно переставить в соответствии с ключом. Такая перестановка требует большого количества условий "Если", которые я нахожу довольно уродливыми.
пожалуйста, посоветуйте мне какое-нибудь лучшее предложение.
спасибо
Что я уже пробовал:
for (auto it = inventory_data.begin(); it != inventory_data.end(); it++){ if(it->first == "device_model"){ hardware_info.set ("model", it->second); } if (it->first == "device_serial"){ hardware_info.set ("serialNumber", it->second); } if (it->first == "device_revision"){ hardware_info.set ("revision", it->second); } if (it->first == "imei_number"){ mobile_info.set ("imei", it->second); } if (it->first == "mobile_cellId"){ mobile_info.set ("cellId", it->second); } if (it->first == "mobile_iccid"){ mobile_info.set ("iccid", it->second); } if (it->first == "msisdn"){ mobile_info.set ("msisdn", it->second); } if (it->first == "imsi"){ mobile_info.set ("imsi", it->second); } if (it->first == "mcc"){ mobile_info.set ("mcc", it->second); } if (it->first == "mnc"){ mobile_info.set ("mnc", it->second); } if (it->first == "lac"){ mobile_info.set ("lac", it->second); } }
Mohibur Rashid
для (авто = inventory_data.начать(); к != inventory_data.конец(); это++){
если(это-&ГТ;первый == "device_model"){
hardware_info.комплект ("модель", это-&ГТ;второй);
} else if (it - > first = = " device_serial"){
hardware_info.комплект ("серийный номер", он-&ГТ;второй);
} else if (it - > first = = " device_revision"){
hardware_info.комплект ("пересмотр", это-&ГТ;второй);
} остальное, если (это-&ГТ;первый == "imei_number"){
mobile_info.комплект ("ИМЭИ", это-&ГТ;второй);
} else if (it - > first = = " mobile_cellId"){
mobile_info.комплект ("cellId", это-&ГТ;второй);
} else if (it- & gt;first = = " mobile_iccid"){
mobile_info.комплект ("iccid", это-&ГТ;второй);
} еще {
mobile_info.набор (это-и gt;Во-первых, это-&ГТ;второй);
}
}
как насчет этого?