gpt4 book ai didi

c++ - map 内部的C++多个 map

转载 作者:行者123 更新时间:2023-12-01 15:10:49 25 4
gpt4 key购买 nike

在python中,我可以像这样在字典中包含字典:

dict = {  'a': { 1:1, 2:2, 3:3 }, 
'b': { 1:1, 2:2, 3:3 },
'c': { 1:1, 2:2, 3:3 } }

在C++中,我必须在另一个 map 中使用一个 map :
std::map< std::string, std::map<int, int> > map1

但是,如何实现与python示例相同的结构?尚未找到任何示例。
std::map< std::string, std::map<int, int, int> > ??

std::map<std::string, std::map<int, int>, std::map<int, int>, std::map<int, int> > ??

最佳答案

如果您是指对 map 对象进行初始化,那么它可能看起来像

#include <iostream>
#include <string>
#include <map>

int main()
{
std::map< std::string, std::map<int, int> > m =
{
{ "a", { { 1, 1 }, { 2, 2 }, { 3, 3 } } },
{ "b", { { 1, 1 }, { 2, 2 }, { 3, 3 } } },
{ "c", { { 1, 1 }, { 2, 2 }, { 3, 3 } } },
};

for ( const auto &p1 : m )
{
std::cout << p1.first << ": ";
for ( const auto &p2 : p1.second )
{
std::cout << "{ " << p2.first << ", " << p2.second << " } ";
}
std::cout << '\n';
}

return 0;
}

程序输出为
a: { 1, 1 } { 2, 2 } { 3, 3 } 
b: { 1, 1 } { 2, 2 } { 3, 3 }
c: { 1, 1 } { 2, 2 } { 3, 3 }

关于c++ - map 内部的C++多个 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60888633/

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