Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在C++;?_C++ - Fatal编程技术网

C++ 如何在C++;?

C++ 如何在C++;?,c++,C++,可能重复: 如何在c中使用字符串值作为变量名++ string listName = "hari"; string vectorName = "BF_vector_"+listName; vector<string> vectorName; vectorName.push_back("Some Value"); string listName=“hari”; 字符串vectorName=“BF_vector”+列表名; 矢量名称; vectorName.push_back(“某

可能重复:

如何在c中使用字符串值作为变量名++

string listName = "hari";
string vectorName = "BF_vector_"+listName;
vector<string> vectorName;

vectorName.push_back("Some Value");
string listName=“hari”;
字符串vectorName=“BF_vector”+列表名;
矢量名称;
vectorName.push_back(“某个值”);
如何使用vectorName的字符串值(“BF_vector_hari”)作为vector的变量名。? 谢谢。

你不能在C++中。 您可以做的一件事是使用
std::map
的形式将名称存储到向量映射。

您不需要

变量名是编译时构造。字符串的内容是一个运行时概念(字符串文本略有不同,但它们也不起作用)。除非编写特定的映射层(将字符串名称映射到某个对象),否则不能仅将字符串用作变量名


或者是一个类型名。

您的意思是动态生成一个名为“BF_vector_hari”的向量变量,类似于php的double$?您。。。不要!即使在支持这一点的语言中。。。三思而后行。不,你认为你有,但你没有。有更好的方法来解决你的问题,不管是什么。@EthanSteinberg:术语本身就是重点。这说明C++是如何工作的一个基本误解。他想要的东西不能按他想要的那样做,特别是使用动态变量名。你可以创建一个映射表,这是一个将名称映射到对象的对象,但它不会将它们映射到变量。令人惊讶的是,有多少人独立地想到要做这件可怕、荒谬的事情。。。这让我想知道,在我们的教材中,是否有一些根本性的错误,无法解释变量到底是什么。谢谢。我不想让代码变得更复杂。