gpt4 book ai didi

c++ - 如何在 C++ 中使用 unordered_maps 的 unordered_map?

转载 作者:太空狗 更新时间:2023-10-29 19:51:15 27 4
gpt4 key购买 nike

我有以下数据结构问题?你能帮帮我吗?所以我的要求是在我将新数据项添加到此 map 时将此数据结构初始化为默认值。

我怎样才能有效地做到这一点?

对于我要添加的每个条目,我需要将 a1、a2、a3 设置为零。

struct a {
int a1;
int a2;
int a3;
};

struct A {
struct a A1;
struct a A2;
};

unordered_map<int, unordered_map<int, struct A>> big_map;

尝试运行下面的代码。

    unordered_map<int, struct A> inner_map;
big_map[0] = inner_map;
struct A m;
big_map[0][0] = m;
cout << "Values: " << big_map[0][0].A1.a1 << ", " << big_map[0][0].A1.a2 << ", " << big_map[0][0].A1.a3 << endl;

输出:

g++ -std=c++11 -o exe b.cc 。/可执行程序值:0、0、1518395376。/可执行程序值:0、0、-210403408 。/可执行程序值:0、0、-1537331360。/可执行程序值:0、0、-915603664

所以 a3 没有进行默认初始化?

最佳答案

从 C++11 开始你可以这样做:

struct a {
int a1 = 0;
int a2 = 0;
int a3 = 0;
};

关于c++ - 如何在 C++ 中使用 unordered_maps 的 unordered_map?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50647246/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com