Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
ertyuo
Сообщений: n/a
#1

Есть ли замена функциям как, например, define? - C++

09.01.2010, 22:12. Просмотров 1800. Ответов 1
Метки нет (Все метки)

Недавно из прочитанной статьи о директивах препроцессора define узнал, что ее (define) можно применять и в качестве функции:

#define LL (l) (l+l)

Но вот в различных программных кодах никогда не наблюдал данного применения define. С чем это связано?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.01.2010, 22:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Есть ли замена функциям как, например, define? (C++):

Есть ли тут такие, у кого есть свои идеи ,касающиеся компьютерной безопасности,например, по защите от вирусов? - C++
Есть ли тут такие, у кого есть свои идеи ,касающиеся компьютерной безопасности,например, по защите от вирусов?

Как сделать чтобы перебор символов шел до конца строки? Если у меня например в ней есть пробелы? - C++
for (i=0;X!='\0';i++); // цикл перебора символов строки, продолжается пока не стретится пустой символ Вот этот цикл перебирает до...

как оформить в цикле додавание n слагаемых, то есть додавать цифры до тех пор пока я ненажму =. Например 1 +2 +3 +4 + . + n = и тогда выводит резуль - C++
как оформить в цикле додавание n слагаемых, то есть додавать цифры до тех пор пока я ненажму =. Например 1 +2 +3 +4 + ... + n = и тогда...

Есть программа (замена строк), надо как-то доработать. - C++
Программа компилируется, однако при зауске, выдает ошибку: "Segmentation fault" Программа меняет две строки Name1 и Name2. Нужно,...

Задачи по функциям. Объясните задачу по функциям) - C++
Вводится последовательность из N целых чисел. Для каждого числа последовательности вывести новое число, которое получится после записи цифр...

как работает #define в примере ? - C++
Почему пезультат 2? #include <iostream> using namespace std; #define A 0 #define B A+1

1
Airhand
Сообщений: n/a
10.01.2010, 19:47 #2
<FONT size=2>
Это связано с тем, что <FONT face=Arial size=2><FONT face=Arial size=2><SPAN lang=EN>define</SPAN><FONT size=2><SPAN lang=RU> - это деректива препроцессора и заменить полноценную функцию не может. Кроме того, она потенциально опасна. Приведу пример: </SPAN><FONT face=Arial size=2><FONT face=Arial size=2><SPAN lang=EN>#define mult(a, b) a * b.</SPAN><FONT size=2><SPAN lang=RU> Что будет, если в такую директиву передать, например 2+1 и 3 ? Ответ будет 5, а не 9, как ожидалось.</P></SPAN>
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2010, 19:47
Привет! Вот еще темы с ответами:

Как сделать из #define строку? - C++
Как сделать из #define-переменной строку? Я компилирую с флагом -DVERSION=`git tag | head -n 1`, но когда я использую её в коде: ...

Как сделать #define глобальным? - C++
у меня есть &quot;definefile.h&quot; в котором объявлено много дефайнов. Я хочу что бы этот файл можно было подключать через #include и пользоваться...

#define работает не так, как ожидается - C++
Здравствуйте. Подскажите, пожалуйста, почему в таком случае некорректно использовать #define: switch (kind) { case 1: ...

Как реализовать директиву #define для создания шаблона отпределения #define ? - C (СИ)
Здравствуйте уважаемые. При написании программы появилась необходимость задать шаблон создания #define через #define (извините за...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru