Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.09.2011, 07:39   #1
SilentM
 
Регистрация: 21.05.2009
Сообщений: 6
По умолчанию Присвоение значений

В течение работы программы в строковую переменную а1 случайным образом приходят имена переменных, объявленных в данной программе. Этим переменным нужно присвоить определенные значения программным путем. Как это сделать если мы не знаем явно, что за переменная к нам пришла в данный момент (это может быть b1 или b2 или b100 и т.д). Например а1="b1". В программе b1 определена как int b1. Как присвоить b1 какое-то число, в момент когда в а1 пришло значение b1?
SilentM вне форума Ответить с цитированием
Старый 15.09.2011, 08:35   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

В классике никак. В программе переменные являются адресами - выяснишь адреса, сможешь писать.
Обычно такую задачу решают массивом записей, где имеется поле имени этого элемента массива и поле данных (или не записью а классом что интереснее). В цикле ищут по массиву этих записей по имени и заносят данные.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.09.2011, 12:30   #3
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Обычно такую задачу решают массивом записей, где имеется поле имени этого элемента массива и поле данных (или не записью а классом что интереснее). В цикле ищут по массиву этих записей по имени и заносят данные.
Не совсем понял, что вы написали, но тут напрашивается std::map. Ключ - имя переменной, значение - адрес. По имени находим нужный адрес и присваиваем.
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 15.09.2011, 12:41   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

да помоему как значение можно и саму переменную хранить
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.09.2011, 13:10   #5
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
да помоему как значение можно и саму переменную хранить
Скорее всего создание переменных и присваивание им значений будут происходить в разных функциях, тогда нужно создавать переменные в куче и работать с указателями на них (т.е. с адресами), либо делать переменные глобальными, что очень не хорошо
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение значений в 2х столбцах и удаление лишних значений.. Tyr Microsoft Office Excel 2 16.12.2010 18:19
Сохранение и загрузка в файл текстовых значений и значений типа Boolean krikaved Общие вопросы Delphi 1 16.03.2010 07:53
присвоение значений переменным из строки sergey[zel] Общие вопросы Delphi 6 15.06.2009 12:08
Присвоение значений в ComboBox maxi_mum Помощь студентам 6 09.04.2009 12:48