如果我有一些数组 numbers[] = [1, 2, 3, 4]
和 array[] = ["numbers", "letters", "characters"]
,是否可以在 C++ 中调用名为 "numbers"
的数组 numbers
?我不想调用单个元素,而是使用一个数组中的名称来调用一个单独的数组。
最佳答案
当人们有这样的问题时,这意味着人们开始尝试创建脚本语言...继续关注这个问题会让您创建一种脚本语言,其名称可能是 PHP、bash...
您正在触及编程哲学:一种语言如何看待世界。如果你能说母语以外的另一种语言,你就会明白这样一个道理:如果你说不同的语言,你的世界就会不同。对于编程语言,它是一样的。 C++ 看世界的方式不支持动态变量名,这实际上是你在问。
阅读这些:
https://coderwall.com/p/al0aqq/dynamic-variable-name-in-bash
https://unix.stackexchange.com/questions/60584/how-to-use-a-variable-as-part-of-an-array-name
http://php.net/manual/en/language.variables.variable.php
根据您的需要,我建议使用 std::map<std::string, std::vector<int>
.或者如有必要,使用模板:std::map<std::string, T>
.
正如@Nybbit 所说,您可以使用 std::unordered_map
也。这取决于您的需要。谷歌std::map
之间的区别和 std::unordered_map
.
关于c++ - 你能在 C++ 中通过名称调用数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48495680/