c++ - 如何在不在 C++ 中创建数组的情况下创建变量名?

标签 c++ arrays variables

如何在创建变量的地方创建一个变量名,然后在括号中加上变量号? (顺便说一句,我只是在猜测代码应该是怎样的,以便您明白我想说的。)例如:

int var[5];
//create a variable var[5], but not var[4], var[3], var[2], etc.

然后,变量号必须能够被变量值访问:

int number = 5;
int var[number]; //creates a var[5], not a var[4], etc.
int var[2]; //creates a var[2], not a var[1], etc.
cout >>var[number];
number = 2;
cin << var[number];

如果我的“示例”偏离轨道,请提出其他建议。我需要类似这样的东西来运行我的游戏,因为我必须能够创建无限个子弹实例,但它们也会在某一时刻被销毁。

最佳答案

看起来您正在寻找 std::map 提供的功能这是一个用于将键映射到值的容器。

Documentation of std::map


使用示例

在下面的示例中,我们绑定(bind)值 123到整数键 4 和值 321键 8。然后我们使用 std::map<int,int>::const_iterator遍历 std::map 中的键/值对名为 m .

  #include <map>

  ...

  std::map<int, int> m;

  m[4] = 123;
  m[8] = 321;

  for (std::map<int, int>::const_iterator cit = m.begin (); cit != m.end (); ++cit)
    std::cout << cit->first << " -> " << cit->second << std::endl;

输出:

  4 -> 123
  8 -> 321

关于c++ - 如何在不在 C++ 中创建数组的情况下创建变量名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8461895/

相关文章:

c++ - 从 vector 末尾开始的插入排序

c++ - 使用循环队列和迭代器自动换行

javascript - for循环不返回结果

javascript - 如何在异步回调中捕获局部变量值

oop - 如何在Lua中声明具有类型的变量

c++ - 在 Linux mint 中使用 g++ 导致对 'Class::Function' 的 undefined reference (collect2 : error)

c++ - 如果 constexpr 编译时因错误的分支而崩溃

PHP:foreach 循环与 array_merge 来创建 json 对象

c# - 无法将字符串数组正确转换为 double 组,返回 0

bash - 将 Fortran 程序输出到变量中