Правила программирования на Си и Си++

       

Никогда не используйте макросы для символьных констант


Например:

#define SPACE  '  '

имеет смысл, если только вы намерены использовать вместо пробела другой символ (как если бы вы испытывали, например, программу для замены символов табуляции).

Никогда не делайте так:

#define SPACE   0x20

Действительное значение символьной константы для пробела (' ') изменяется компилятором так, чтобы оно соответствовало операционной среде, для которой ведется компиляция. Для среды, поддерживающей ASCII, это значение будет 0x20, а для EBDCDIC — уже нечто другое. Не думайте, что у какого-то символа свое постоянное значение.




Содержание раздела