2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Имя переменной можно задать из строки?
Сообщение09.07.2010, 22:58 
Аватара пользователя
Можно ли в c++ объявить переменную, да так чтобы имя переменной бралось из char*?

 
 
 
 Re: Имя переменной можно задать из строки?
Сообщение09.07.2010, 23:17 
Нет.

 
 
 
 Re: Имя переменной можно задать из строки?
Сообщение10.07.2010, 18:05 
Аватара пользователя
Нет. Причина в том, что имя переменной в C/C++ это всего лишь информация используемая компилятором, для построения ассемблерного кода (а затем машинного). То есть самих имён в низкоуровневом коде вообще нет. Скомпилируйте простую 10 строчную программку в ассемблерный код.

А данные из строки являются лишь данными, которые после компиляции никак не связаны с именами переменных. Все проверки типов имеют значения только на этапе компиляции (хотя в С++ есть RTTI, но основную картину это не меняет).

 
 
 
 Re: Имя переменной можно задать из строки?
Сообщение15.07.2010, 20:16 
Unmanner в сообщении #338288 писал(а):
Можно ли в c++ объявить переменную, да так чтобы имя переменной бралось из char*?

В QT есть метаданные, генерируемые препроцессором при компиляции, в том числе и имена.

 
 
 
 Re: Имя переменной можно задать из строки?
Сообщение15.07.2010, 22:21 
Аватара пользователя
Ну подобный изврат работает и с обычным препроцессором:

Код:
#include <stdio.h>

#define NAME   var

int main()
{
#define VAL   3

   int NAME = VAL;

   printf("%d\n", var);

   return 0;
}

 
 
 
 Re: Имя переменной можно задать из строки?
Сообщение16.07.2010, 00:47 
Ещё можно использовать подход из темы $('windowTitle').text('привет'); в с++

 
 
 [ Сообщений: 6 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group