Выберите шаблон C ++ для вызова на основе переменной времени выполнения - PullRequest
3 голосов
/ 25 марта 2019

У меня есть фрагмент кода на C ++, похожий на этот:

void SaveDataInTxt(DataFormat fmt, const char *data, size_t size) {
    switch (fmt.bit_width) {
    case 8: return SaveDataInTxtImpl<int8_t>(data, size);
    case 16: return SaveDataInTxtImpl<int16_t>(data, size);
    case 32: return SaveDataInTxtImpl<int32_t>(data, size);
    }
}

Просто удивительно, есть ли лучший способ избавиться от этого оператора case переключателя и поместить тело SaveDataInTxtImpl () прямо в SaveDataInTxt ().

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...