C++ C++;使用字符串变量调用并命名其他内容

C++ C++;使用字符串变量调用并命名其他内容,c++,variables,C++,Variables,如何使用字符串变量为新变量或对象命名 例如:编译程序后,输入文本“a_name”,按[enter],然后声明一个名为“a_name”的变量或对象。另一个示例:我输入文本“a_name”,按[enter],然后名为“a_name”的变量显示其值 有没有需要下载的特殊图书馆?或者编译器文件中是否包含这些文件?如果有必须下载的库,哪些库最容易理解和使用?我使用VisualC++,但库中的IoString、数学、字符串、E.T.C从DeVC++编译器中复制。 < p>据我所知,你不能。变量名是在编译时设

如何使用字符串变量为新变量或对象命名

例如:编译程序后,输入文本“
a_name
”,按[enter],然后声明一个名为“a_name”的变量或对象。另一个示例:我输入文本“
a_name
”,按[enter],然后名为“a_name”的变量显示其值


有没有需要下载的特殊图书馆?或者编译器文件中是否包含这些文件?如果有必须下载的库,哪些库最容易理解和使用?我使用VisualC++,但库中的IoString、数学、字符串、E.T.C从DeVC++编译器中复制。

< p>据我所知,你不能。变量名是在编译时设置的,而不是在运行时设置的。C++不被解释(如Perl、Python或JavaScript),因此它不能在运行时评估表达式。C++是学校的一部分。p>

我建议你使用数组或C++列表/map类来模拟这个行为。

你不能声明这样的变量,但是你可以使用的是<代码> map < /C>。其中,映射的关键是你想引用的变量的名称,并且在这个图中有那个键的值是变量的值。p>
std::映射变量

显然,值可以是任何类型,而不仅仅是像我在这里使用的字符串,您可以使用
double
int
bool
或任何适合您需要的类型,或者如果您需要不同的类型,您甚至可以按照James Kanze的建议使用,或者任何其他类似的类

阅读更多关于地图的信息,请点击此处:

您可以使用任何类型的映射,但使用散列存储密钥的映射可能是最佳选择。STL hash_map:

一旦程序被编译,就不能向程序中添加“变量”。你 但是,通过使用
std::map
,使用 作为键类型的字符串

当然,您必须决定新变量应该是什么类型
有,这样你就知道该映射到什么类型了。如果可能有多个类型,则类似于
boost::variant
的内容可能会很有用。(注意,不同于名称集,可能的类型集合必须在编译时完全定义)

,所以基本上你要做的就是把解释的语言包含到C++程序中。
有很多语言支持嵌入到C++程序Lua、JavaScript、Python中,有几个语言。

你输入的文本“AAID”到底在哪里?MythunsasIDHARA:我想这不是他要问的。是的,C++不支持命名变量/参数。+ 1,如果你想在程序的顶部编写脚本,那么从库中提供一个现有语言比编写自己的语言可能更容易和更好。