Есть список UnicodeString констант и соответствующий ему список целочисленных констант:
const UnicodeString ERR = L"Error";
const UnicodeString READY = L"Ready";
...
const int S_ERR = 0;
const int S_READY = 1;
...
Не знаю, какой контейнер для хранения и удобной работы с этими данными использовать. Если использовать их отдельно, то получается крайне неудобно с ними работать, когда надо получать строку в зависимости от состояния и подобные действия:
switch (Status) {
case S_ERR:
return ERR;
...
}
Какой контейнер можно использовать для этого? Очень важен ответ, часто использую такого рода логику.
Ответ
Раз у Вас есть ассоциативное отношение, то сам собой напрашивается ассоциативный контейнер, а именно: std::unordered_map
...
const int S_ERR = 0;
const int S_READY = 1;
...
std::unordered_map
Это позволяет нам не задумывать о том, в каком порядке, что хранится и не пользоваться switch, который только раздувает код.
Комментариев нет:
Отправить комментарий