首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何声明嵌套的unordered_map,其中值的类型与unordered_map相同?

如何声明嵌套的unordered_map,其中值的类型与unordered_map相同?
EN

Stack Overflow用户
提问于 2022-05-09 06:11:51
回答 1查看 69关注 0票数 0

我想知道是否可以声明一个类型T,即unordered_map<char, T>,其中unordered_map值的类型也是T,从而形成一个具有可变子结构的树状结构。

基本上,我考虑的是一些功能类似于使用以下功能的东西,但没有,在下面定义了类似于Node的结构:

代码语言:javascript
复制
//Node of a tree
struct Node {
   char val;
   unordered_map<char, Node*> children;
};

表面上看,这将需要我声明一个多层次的地图与未知的水平。这个是可能的吗?

代码语言:javascript
复制
unordered_map<char, unordered_map<char, unordered_map<char, unordered_map<char, ...

C++中有什么东西(可能是std::anystd::any_cast)可以解决上面类似于Map<char, Object>的问题,其中的值类型Object本身也是Map<char, Object>

EN

回答 1

Stack Overflow用户

发布于 2022-05-09 06:49:04

https://godbolt.org/z/rKaGE14qe

它与gcc一起编译12.1,在gcc 11.3中,它不会编译。实际上,unordered_map可以支持不完整的类型,因为unordered_map的初始化不需要创建value_type对象。然而,到目前为止,这是未定义的行为。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72167629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档