Форум русскоязычного сообщества Ubuntu


Автор Тема: C++: переназначить константу программно  (Прочитано 3105 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Здравствуйте. такая ситуация. есть константа и огромное желание поменять ее программно.
#define s 3в теле программы можно константу s заменить на другое значение?
« Последнее редактирование: 17 Апреля 2011, 18:36:24 от Fluffy1234567890 »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: C++: переназначить константу программно
« Ответ #1 : 17 Апреля 2011, 18:37:06 »
Это СПАР..., тьфу,  КОНСТАНТА!!!

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Re: C++: переназначить константу программно
« Ответ #2 : 17 Апреля 2011, 18:41:23 »
ок. видимо я пошел уж очень обходным путем в решении своей задачи.

Оффлайн SauronTheDark

  • Активист
  • *
  • Сообщений: 674
    • Просмотр профиля
Re: C++: переназначить константу программно
« Ответ #3 : 17 Апреля 2011, 18:52:02 »
Низя. Тем более это макрос, а не константа

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Re: C++: переназначить константу программно
« Ответ #4 : 17 Апреля 2011, 18:54:01 »
Хорошо. а вот
const int s=3;это точно константа. вот попробовал - аналогичная ошибка вылазит при присваивании константе значения.

Оффлайн qpalzz

  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: C++: переназначить константу программно
« Ответ #5 : 17 Апреля 2011, 19:16:15 »
и это тоже константа, и она тоже не меняется

Оффлайн Lion-Simba

  • Старожил
  • *
  • Сообщений: 1126
    • Просмотр профиля
Re: C++: переназначить константу программно
« Ответ #6 : 17 Апреля 2011, 19:19:16 »
Здравствуйте. такая ситуация. есть константа и огромное желание поменять ее программно.
#define s 3в теле программы можно константу s заменить на другое значение?

#ifdef s
#undef s
#define s 5
#endif

И да простит меня Yurror.  :P

Хотя я думаю, что такой подход автору не шибко поможет.
Оказываю индивидуальную платную техподдержку широкого профиля. Обращаться в ЛС или Jabber.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: C++: переназначить константу программно
« Ответ #7 : 17 Апреля 2011, 19:22:46 »
Lion-Simba, Run-Time!!! Not Compile-Time!
Желание изменить константу как ни что другое горит о черзжопном дизайне ПО. Да простит меня топикстартер.

const_cast тебя спасёт, но не говорите что я не предупреждал.

Пользователь решил продолжить мысль 17 Апреля 2011, 15:24:47:
Закрывай тему иначе тут такого насоветуют что я блевану

Пользователь решил продолжить мысль 17 Апреля 2011, 19:27:11:
Если так сильно нужна изменяемая константа, возможно тебе нужна предварительно инициализированная переменная?
« Последнее редактирование: 17 Апреля 2011, 19:27:11 от Yurror »

Оффлайн smart__

  • Любитель
  • *
  • Сообщений: 77
    • Просмотр профиля
    • ООО "ИнфоЦентр"
Re: C++: переназначить константу программно
« Ответ #8 : 17 Апреля 2011, 19:32:07 »
Можно положить лом на кирпич, и назвать его КИРПИЧОМ.
Но, пля, ломом он от этого быть не перестанет.
Дерзайте.

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Re: C++: переназначить константу программно
« Ответ #9 : 17 Апреля 2011, 19:44:47 »
Цитировать
Код:
#ifdef s
#undef s
#define s 5
#endif
а если вместо 5-ки я переменную подставлю? инициализирует константу?

Пользователь решил продолжить мысль 17 Апреля 2011, 19:55:12:
глобальная переменная не спасает. наверное мне надо задачу описать полностью. а то я тут костыли ищу. буду открывать новую тему значит.
« Последнее редактирование: 17 Апреля 2011, 19:55:12 от Fluffy1234567890 »

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: C++: переназначить константу программно
« Ответ #10 : 17 Апреля 2011, 20:13:35 »
Прочитай что такое препроцессор, чтобы фигню не городить

Оффлайн FluffyMan

  • Автор темы
  • Активист
  • *
  • Сообщений: 276
  • Debian 6
    • Просмотр профиля
Re: C++: переназначить константу программно
« Ответ #11 : 17 Апреля 2011, 21:25:10 »
и на том спасибо

 

Страница сгенерирована за 0.053 секунд. Запросов: 25.