c++ - 你能在 C++ 中通过名称调用数组吗?

标签 c++ arrays call

如果我有一些数组 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/

相关文章:

c++ - MSBuild 错误 MSB4095 : The item metadata %(RootDir) is being referenced without an item name

arrays - 检查两个数组是否相等的算法

c - 打印文件中的子字符串

arrays - 如何找到最大值和分钟。在数组中使用最小比较?

c - 我如何摆脱调用 __x86.get_pc_thunk.ax

python - 无法在 Python 中调用我的类

function - Dart类中的静态调用方法(使类可调用)

c++ - 这个结构是什么意思 : bool operator == (const a& other) const;?

c++ 如何在文件中打印带逗号(而不是点)的双十进制数

C++ 构造函数参数