2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Имя переменной можно задать из строки?
Сообщение09.07.2010, 22:58 
Аватара пользователя


07/07/10
100
Нижний Новгород
Можно ли в c++ объявить переменную, да так чтобы имя переменной бралось из char*?

 Профиль  
                  
 
 Re: Имя переменной можно задать из строки?
Сообщение09.07.2010, 23:17 
Заслуженный участник


04/05/09
4587
Нет.

 Профиль  
                  
 
 Re: Имя переменной можно задать из строки?
Сообщение10.07.2010, 18:05 
Аватара пользователя


01/04/10
910
Нет. Причина в том, что имя переменной в C/C++ это всего лишь информация используемая компилятором, для построения ассемблерного кода (а затем машинного). То есть самих имён в низкоуровневом коде вообще нет. Скомпилируйте простую 10 строчную программку в ассемблерный код.

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

 Профиль  
                  
 
 Re: Имя переменной можно задать из строки?
Сообщение15.07.2010, 20:16 


30/12/09
95
Unmanner в сообщении #338288 писал(а):
Можно ли в c++ объявить переменную, да так чтобы имя переменной бралось из char*?

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

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


01/04/10
910
Ну подобный изврат работает и с обычным препроцессором:

Код:
#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 
Заслуженный участник


26/07/09
1559
Алматы
Ещё можно использовать подход из темы $('windowTitle').text('привет'); в с++

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group