这是指啥 C++ 数据结构? [关闭]

Posted

技术标签:

【中文标题】这是指啥 C++ 数据结构? [关闭]【英文标题】:What C++ data structure is this referring to? [closed]这是指什么 C++ 数据结构? [关闭] 【发布时间】:2020-11-18 04:09:01 【问题描述】:

我在网上偶然发现了这段代码,想确认一下这个数据结构是什么


unordered_map<int, int> pre[10];
int main()

...
    pre[1] = 9, 5, 7, 4, 3, 2;
...


看起来像 unordered_map&lt;int, unordered_map&lt;int, int&gt;&gt; pre 给我。但是,我不确定 unordered_map&lt;int, int&gt; 在这种情况下是如何工作的。有人能解释一下这是什么吗?

【问题讨论】:

【参考方案1】:
unordered_map<int, int> pre[10];

不要忘记最后的[10]。这是一个包含十个unordered_map&lt;int, int&gt; 实例的数组main 行将特定的unordered_map&lt;int, int&gt; 分配给位于1 位置的那个。

【讨论】:

谢谢,我没有考虑数组部分。感谢您向我指出这一点。现在说得通了。【参考方案2】:

任务

pre[1] = 9, 5, 7, 4, 3, 2;

基本上等价于

std::unordered_map<int, int> temporary_map = 9, 5, 7, 4, 3, 2;
pre[1] = temporary_map;

记住pre 是一个由十个元素组成的数组pre[1] 是数组中的第二个元素。

【讨论】:

【参考方案3】:

在我看来,它像 unordered_map&lt;int, unordered_map&lt;int, int&gt;&gt; pre

确实如此,只是后面有[10]。这使变量成为一个数组。

但是,我不确定unordered_map&lt;int, int&gt; 在这种情况下是如何工作的。

unordered_map&lt;int, int&gt;是数组元素的类型。

【讨论】:

以上是关于这是指啥 C++ 数据结构? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

c++中断言函数指啥

系统的吞吐量是指啥?

C++ 中,类的实例化对象是指啥?如果确保它的实例化对象只得一个?

出错代码502,是指啥,怎样解决?

在 C++ 构造函数中为结构数组分配存储[关闭]

在退出 C++ 时保存值 [关闭]