fk0легенда (16.03.2012 19:48, просмотров: 1768)
C, multicharacter constants. Насколько их плохо использовать (примерно как goto) ? Удобно для обозначений стран и валют в частности. Иначе нужно изобретать 10000 обозначений типа CURRENCY_UAH, CURRENCY_RUB... и ещё COUNTRY_UA, COUNTRY_RU... А также нужны функции для получения "RU" и "RUB" из упомянутых перечислений. Указатели (const char *"RUB") использовать нельзя -- их нельзя будет сравнивать. Под multicharacter constants я подразумеваю такое:
typedef int_least16_t country_t;
typedef int_least32_t currency_t;
country_t x = 'RU';
currency_t y = 'RUB';
...
Первое что очевидно, можно нарваться на разный регистр... Или, если данные вводятся вручную (в исходнике, ещё где либо) ввести что-то несуществующее. Всё одно идёт к перечислимому типу (const char* тоже плох этим же). Как вообще обычно поступают?
[ZX]