Russian Qt Forum

Qt => Общие вопросы => Тема начата: noname.pl от Март 05, 2007, 13:07



Название: динамическое имя переменной.
Отправлено: noname.pl от Март 05, 2007, 13:07
как средствами языка реализовать след. функцию:
void (QString Name){
QFile Name;
}
то есть в параметрах функции указывать имя переменной, которая будет объявлена внутри функции. thx
p.s.: чреваты ли чем-то подобные извраты?

добавлено спустя 2 минуты:

 p.p.s: и возможно ли сделать объявленные таким образом переменные видимыми для внешней области видимости, по отношению к данной?


Название: динамическое имя переменной.
Отправлено: Alex03 от Март 05, 2007, 13:55
Никак.
Невозможно.

И главное: А зачем?

Этап компиляции и выполнения - совсем разные вещи.


Название: динамическое имя переменной.
Отправлено: noname.pl от Март 05, 2007, 14:02
наверное я не верно выразился. нужно сделать
Код:
 void (QString Name){
QFile NameInName; // содержимое строки QString Name, а не имя этой переменной
}
зачем? скажем, есть 20 переменных, которые определенным образом взаимодействуют и инициализируются то друг другом, то чем-то внешним. и таких блоков инициализации тоже под 20, а будет больше. хочется такую функцию в которую указываешь лишь имена и она делает все остальное за тебя .... конечно возможно стоит воспользоваться ассциированным массивом или ещё чем-то (это потом решу) но стало инетресно как сделать вот так вот. думается, мне что это возможно.  ... подправил постановку задачи.


Название: динамическое имя переменной.
Отправлено: Admin от Март 05, 2007, 14:19
я думаю тебе могут помочь указатели
типа void *p; - делай с ним че хочешь ))


Название: динамическое имя переменной.
Отправлено: noname.pl от Март 05, 2007, 14:30
гыгы %) яркий совет. пока что решил пользоваться ассоциативными массивами типа <QString, MyStruct>, где в MyStruct и будут однотипные данные. но все же вопрос остался открытым ...


Название: динамическое имя переменной.
Отправлено: WW от Март 05, 2007, 14:39
Admin прав. есть понятие указатели на функцию.
void (*p)(QString sName);
и делай с ней что хочешь. ты все равно придешь к ней.


Название: динамическое имя переменной.
Отправлено: noname.pl от Март 05, 2007, 23:38
спасибо, попробую.