Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menukar Rentetan C kepada Enum dengan Cekap?
Dalam C , pembangun sering menghadapi keperluan untuk menterjemah rentetan kepada enum. Pendekatan naif ialah menggunakan pernyataan suis yang panjang. Walau bagaimanapun, kaedah yang lebih mudah wujud.
Satu penyelesaian ialah pemetaan menggunakan peta perpustakaan standard, yang mewujudkan kesesuaian antara rentetan dan enum. Walaupun ini boleh berkesan, ia memerlukan permulaan yang teliti.
Dengan kemunculan C 11, pendekatan yang lebih diperkemas tersedia. Menggunakan peta tidak tersusun, anda boleh membina rentetan pemetaan jadual kepada enum semasa fasa penyusunan:
static std::unordered_map<std::string,E> const table = { {"a",E::a}, {"b",E::b} };
Mendapatkan semula enum yang sepadan untuk rentetan yang diberikan kini mudah:
auto it = table.find(str); if (it != table.end()) { return it->second; } else { // Handle error }
Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan C kepada Enum dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!