C++只有3行代码的基本问题

C++ Basic issue with only 3 lines of code

本文关键字:问题 代码 只有 3行 C++      更新时间:2023-10-16

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

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

我甚至无法向谷歌简要描述我的问题,但我会尽力向你描述。

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

int x=9
char$9$=0
$x$=1
//这是不正确的。这只是我的想法。这行应该行<名称等于int x值的em=">char变量将其值更改为1。。

如果(如果(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;

我们可以做:

int x = 9;
data[x] = 1;