Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.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++;变量的基本问题-仅3行代码_C++_Variables - Fatal编程技术网

C++ C++;变量的基本问题-仅3行代码

C++ C++;变量的基本问题-仅3行代码,c++,variables,C++,Variables,我现在正在做我的新项目,我面临一个奇怪的问题。这个问题似乎有两个解决方案——第一个需要我,比方说,大约5分钟,第二个需要一些复制和粘贴,需要很多时间 然而,我不确定第一个解决方案是否可行,主要是如何可能 我甚至不能简单地向谷歌描述我的问题,但我会尽力向你描述 假设我有一个变量x。然后我有另一个变量$9$(例如,它的名称是9)。我希望变量$9$在变量x的值等于9时更改其值。守则: intx=9 字符$9$=0 $x$=1//此输入不正确。这只是我的想法。这条线应该做;名称等于int x值的char

我现在正在做我的新项目,我面临一个奇怪的问题。这个问题似乎有两个解决方案——第一个需要我,比方说,大约5分钟,第二个需要一些复制和粘贴,需要很多时间

然而,我不确定第一个解决方案是否可行,主要是如何可能

我甚至不能简单地向谷歌描述我的问题,但我会尽力向你描述

假设我有一个变量x。然后我有另一个变量$9$(例如,它的名称是9)。我希望变量$9$在变量x的值等于9时更改其值。守则:

intx=9
字符$9$=0
$x$=1
//此输入不正确。这只是我的想法。这条线应该做;名称等于int x值的char变量将其值更改为1

我不能使用if(if(x==9)$9$=1;)或开关,因为int x实际上有600个可能的值,因此x$变量也有600个char$值。。(嗯,这是第二个解决方案)


我希望至少有人理解我的问题,有什么想法吗?非常感谢你的帮助。同时,我对初学者的英语感到抱歉,因为我对C++和谷歌都不熟悉。听起来你需要某种键值存储。也就是说,您有一个运行时确定的键,并且希望基于该键查找/更改某些值。C++中有一些选项可以比较容易地完成。 因为您的密钥是范围相对受限的
int
,所以我们可以使用数组。我们还可以使用
std::unordered_map
(哈希表)或
std::map
(二叉树)

所以。。。给定其中一个对象:

std::array<int, 600> data;
std::unordered_map<int, int> data;
std::map<int, int> data;

不能将数字用作变量名。(想一想:如果可以,如果
9=0
,那么
1+9
会是什么?)啊,我想我明白了。仔细阅读数组。我已经阅读了你的帖子4次,但仍然不明白你想做什么。您正在尝试以编程方式更改变量的名称?不要那样做。或者只是让一个变量的值在另一个变量改变时改变?只需使用指向原始变量的指针。能否将所有值放在数组或其他集合中,然后对其进行迭代以找到所有匹配的值?Jongware:9+1将是10$9美元+1美元等于1美元。
int x = 9;
data[x] = 1;