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

Встраивание результата функции в место ее вызова - C++

Восстановить пароль Регистрация
 
 
remix.remix
Сообщений: n/a
04.09.2012, 01:01     Встраивание результата функции в место ее вызова #1
Здравствуйте. Можно ли как-то реализовать чтобы перед компиляцией программы выполнолась функция, а ее результат встраивался в место ее вызова? Знаю что для фунций есть классификатор inline, но тогда в место вызова встраивается сама функция, а мне нужен именно результат. Например:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void func(int i)
{
if(i==1)
n = 1;
else
n = 0;
}
 
int main(void)
{
int i = 1;
func(i);
}
И вот нужно, чтобы при компиляции вместо "func(i);" стояло "n = 1;".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2012, 01:01     Встраивание результата функции в место ее вызова
Посмотрите здесь:

C++ Ошибка вызова шаблонной функции
Функции. Синтаксис объявления и вызова C++
C++ Абстракция вызова функции
оформить решение в виде функции следующими способами: 1. функция расположена после ее вызова; 2. функция расположена после до ее вызова; 3. функ C++
C++ нужно чтобы функция располагалась до ее вызова, после ее вызова и в другом файле. Как это сделать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.09.2012, 18:56     Встраивание результата функции в место ее вызова #21
Invader_Zim, Он состоит не из #define салата, а из #ifdef салата, что является несколько разными вещами, не находите? А #define-ы определяются во время сборки программы, обычно в одном config файле.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
novi4ok
549 / 502 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
04.09.2012, 18:56     Встраивание результата функции в место ее вызова #22
Цитата Сообщение от Invader_Zim Посмотреть сообщение
И я не буду отказываться от дефайнов! Ибо чуть менее чем весть кроссплатформенный код состоит из дефайн-салата
логично. если отказываться в с++ от всего, что есть также в си, то от него ничего не останется вообще. ну, шаблоны разве.
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
04.09.2012, 18:58     Встраивание результата функции в место ее вызова #23
ForEveR, мда, holy war runtime error: Invalid argument
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.09.2012, 19:03     Встраивание результата функции в место ее вызова #24
Invader_Zim, Ну я же вроде не говорил, что макросы не используются вообще, я говорил что их по возможности стараются избегать. Выборочная компиляция, как раз является областью, где без макросов - никак.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.09.2012, 19:43     Встраивание результата функции в место ее вызова
Еще ссылки по теме:

Не понятный глюк вызова перегруженной функции C++
C++ Вызова функции
Упрощение вызова функции через #define C++

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

Или воспользуйтесь поиском по форуму:
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
04.09.2012, 19:43     Встраивание результата функции в место ее вызова #25
ForEveR, Я знаю, я в пылу убеждения в своей правоте дерективы перепутал. Вот и инфалид агрумент)
Yandex
Объявления
04.09.2012, 19:43     Встраивание результата функции в место ее вызова
Ответ Создать тему
Опции темы

Текущее время: 12:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru