1. На практике эта команда часто используется для определения “константы”. Например, в результате выполнения команды
#define n 10
каждое появление идентификатора n будет заменено числом 10.
2. Команда
#define obj
ничего не ставит в соответствие имени obj. Любое вхождение obj будет удалено. Можно использовать такой вид команды для условной компиляции (см. §3).
3. Пример расположения команды на двух строках:
#define Start for (int i=0; i<n; i++)\
for (int j=0; j<m; j++)
Если записать такую команду, то вместо двух подряд идущих вложенных циклов for можно просто записать Start.
4. Пусть задан следующий исходный текст программы:
#define begin {
#define end }
void main()
begin
операторы
end
В результате препроцессорной обработки begin заменится на левую фигурную скобку, а end — на правую. Получим
void main()
{
операторы
}
5 Имея определённый опыт программирования на другом языке (например, Pascal), можно забыть, что в ключевых словах языка С++ строчные и прописные буквы отличаются. Тогда можно записать, например, несколько директив компиляции такого рода:
#define FOR for
#define For for
Тогда не будет ошибки, если в тексте программы запишем FOR или For, так как препроцессор заменит их на for.
6. Если сначала определим
#define ONE 1,
то затем можно использовать ONE при определении другого идентификатора, например:
#define TWO ONE+ONE