【问题标题】: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; 在这种情况下是如何工作的。有人能解释一下这是什么吗?

【问题讨论】:

    标签: c++ unordered-map


    【解决方案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;是数组元素的类型。

      【讨论】:

        猜你喜欢
        • 2018-03-22
        • 2021-05-18
        • 1970-01-01
        • 2015-01-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-15
        • 1970-01-01
        相关资源
        最近更新 更多