Re[32]: The Big OOPs: Anatomy of a Thirty-five-year Mistake
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 27.09.25 07:32
Оценка:
Здравствуйте, Marty, Вы писали:

M>Уверен, что можно красиво и не слишком сложно переделать без макросов


Ну попробуйте, например, это:

#define PlaceKsId(Base,End) {Base##_##End, #End}

struct KsIdDesc {
  unsigned int Id;
  char const * IdName;
};

KsIdDesc const KsIdTable [] = {
  PlaceKsId (KSPROPERTY_AUDIO, LATENCY),
  PlaceKsId (KSPROPERTY_AUDIO, COPY_PROTECTION),
  PlaceKsId (KSPROPERTY_AUDIO, CHANNEL_CONFIG),
...
};

Это таблица преобразования индекса в стандартный идентификатор (KSPROPERTY_AUDIO_LATENCY и т.п.). У меня подобных таблиц до черта.
Отредактировано 27.09.2025 7:34 Евгений Музыченко . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.