Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Дефайны 
:(
    Опции темы
RapMan
Дата 23.8.2009, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 13.6.2008

Репутация: нет
Всего: нет



Добрый вечер!
У меня вопрос, как можно сделать чтобы дефайн или какая нибудь переменная изменялась при компайле?
то есть:

Код

int a (void) {
  return SOME_DEFINE;
}
функция возвращает 0

int b (void) {
  return SOME_DEFINE;
}
функция возвращает 1

int c (void) {
  return SOME_DEFINE;
}
функция возвращает 2


как заметили тот же дефайн должен возвращать другое значение в другой функции (например на +1 больше предведущего упоменание в коде)

Заранее Спасибо
--------------------
здесь хреновые модераторы...
PM MAIL   Вверх
RapMan
Дата 24.8.2009, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 13.6.2008

Репутация: нет
Всего: нет



нашел выход, кому интересно: __COUNTER__
--------------------
здесь хреновые модераторы...
PM MAIL   Вверх
mes
Дата 24.8.2009, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(RapMan @  23.8.2009,  22:51 Найти цитируемый пост)
как заметили тот же дефайн должен возвращать другое значение в другой функции (например на +1 больше предведущего упоменание в коде)


Код

#include <iostream>

unsigned long uniq ()
{
    static unsigned long counter = 0;
    return counter ++ ;
}

#define DEFINE_UNIQ_VALUE(name) const static unsigned name = uniq();


unsigned f1()
{
    DEFINE_UNIQ_VALUE(a);
    return a;
}

unsigned f2()
{
    DEFINE_UNIQ_VALUE(a);
    return a;
}

int main(void)
{
    std::cout << f1() << " "
              << f2() << " "
              << f1() << " "
              << f2() <<std::endl<<std::endl<<std::endl;
}

так ?


--------------------
PM MAIL WWW   Вверх
RapMan
Дата 24.8.2009, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 13.6.2008

Репутация: нет
Всего: нет



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

Сделала через __COUNTER__
--------------------
здесь хреновые модераторы...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0828 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.