Препроцессор выполняет также определенные манипуляции с символами, которые называются макроподстановками (macro substitution). Например, определим имя символьной строки.
Также на сайте faserkraft.ru можно узнать много интересного на тему http://faserkraft.ru/
Что означает вообще тема очистка воды и водоподготовка про это написано на сайте faserkraft.ru Спасибо сайту за информацию
#define FOO bar
Теперь везде, где препроцессор увидит символы FOO, они будут заменены символами bar.
int FOO = 7; int FOOL = 9;
В таком случае компилятор увидит следующий текст:
int bar = 7; int FOOL = 9;
Обратите внимание на то, что препроцессор знает об именах языка С++ достаточно много, чтобы не заменить символы FOO, являющиеся частью слова FOOL.
С помощью директивы define можно также определить макросы, принимающие параметры.
#define MAX(x,y) (((x)>(y))?(x) : (y))
Их можно использовать следующим образом:
int xx = MAX(FOO+1,7);
int yy = MAX(++xx,9);
Эти выражения будут развернуты так:
int xx = (((bar+1)>( 7))?(bar+1) : (7));
int yy = (((++xx)>( 9))?(++xx) : (9));
Подчеркнем, что скобки необходимы для того, чтобы получить правильный результат при вычислении выражения FOO+1. Кроме того, переменная xx была инкрементирована дважды совершенно неочевидным образом. Макросы чрезвычайно популярны, в основном потому, что программисты на языке С имели мало альтернатив. Обычные заголовочные файлы содержат определения тысяч макросов. Будьте осторожны!
Если уж вам приходится использовать макросы, то называйте их, используя только прописные буквы, например ALL_CAPITAL_LETTERS, а обычные имена не должны состоять только из прописных букв. Прислушайтесь к хорошему совету. Например, в одном из вполне авторитетных заголовочных файлов мы нашли макрос max.
Обзор стандартной библиотеки
“По возможности, вся сложность должна быть скрыта
от постороннего взгляда”.
Дэвид Дж. Уилер (David J. Wheeler)
Это приложение содержит краткий обзор основных возможностей стандартной библиотеки языка С++. Изложенная в нем информация носит выборочный характер и предназначена для новичков, желающих получить общее представление о возможностях стандартной библиотеки и узнать немного больше, чем написано в основном тексте книги.
Опубликовал katy
May 08 2015 09:45:45 ·
0 Комментариев ·
2832 Прочтений ·
• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •
Комментарии
Нет комментариев.
Добавить комментарий
Рейтинги
Рейтинг доступен только для пользователей.
Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.
Нет данных для оценки.
Гость
Вы не зарегистрированны? Нажмите здесь для регистрации.