Есть ли замена функциям?
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Есть ли замена функциям? Expand / Collapse
Автор
Сообщение
09.01.2010 19:12
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 09.01.2010 18:54
Сообщ.: 1, Visits: 2
Недавно из прочитанной статьи о директивах препроцессора define узнал, что ее (define) можно применять и в качестве функции:
#define LL (l) (l+l)
Но вот в различных программных кодах никогда не наблюдал данного применения define. С чем это связано?
Сообщ. #918614
10.01.2010 16:47


Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 16.05.2010 12:41
Сообщ.: 70, Visits: 645

Это связано с тем, что define - это деректива препроцессора и заменить полноценную функцию не может. Кроме того, она потенциально опасна. Приведу пример: #define mult(a, b) a * b. Что будет, если в такую директиву передать, например 2+1 и 3 ? Ответ будет 5, а не 9, как ожидалось.

Сообщ. #918615
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.

Время GMT +3:00, Сейчас 10:09