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

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




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

 Re: Имя переменной можно задать из строки?
Нет.

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

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

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

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

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

Код:
#include <stdio.h>

#define NAME   var

int main()
{
#define VAL   3

   int NAME = VAL;

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

   return 0;
}

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

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


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