在C 中使用结构作为映射中的值
Using structure as a value in map in C++
我正在处理旧版代码,有一个a类,其枚举成员定义为这样
class A
{
private:
enum E{ kRemove, kDoNotRemove};
static map<String, MapValue> s_Map; //this map I am trying to add
}
我正在尝试在此类中添加一张地图,该映射将其结构作为一个类似的值
struct MapValue{
E e; //this enum is defined in private section in the class
String T;
String F;
} ;
我无法理解的是我应该在哪里定义此struct mapvalue?
我的理解:
- 如果我只要创建一个对象,结构VAR将被分配。这没有用,因为我正在使用构造仅作为地图的值。我也不是当我将其用作该结构的值时,只需要一个副本地图。
- 如果我在班级外添加它,那将不是一个很好的设计struct仅在班级内部,因此不应该是全局。也是结构有枚举成员,该成员在班上定义为私人,因此
请建议。
如果您声明类中的类型,就像枚举声明一样,您不是在分配新实例。这只有在创建对象时才会发生。
相关文章:
- 如何在 C# 中映射双 C 结构指针?
- 如何在C++中使用结构生成映射
- C++匿名结构作为std::映射值
- 添加静态constexpr成员是否会更改结构/类的内存映射
- C++:映射结构中的结构指针
- 无法添加多个键以映射将结构作为键
- 如何在 c++ 中创建结构向量的映射
- 从另一个 cpp 文件更改结构内、映射键内的变量
- 在映射中使用结构作为键,忽略 == 运算符,误报
- 用于对项目进行分组并将单个项目映射到其他组成员的数据结构
- 使用结构和映射创建priority_queue
- 在无序映射的结构化绑定中推导类型
- 如何将带指针的结构插入到映射中
- C++调用存储在映射结构中的函数指针
- 映射结构也支持排序
- 它无法将 c++ 映射结构编译为 map<A、pair<B、C> >
- 非易失性C++映射结构的备份方案
- 内存映射文件-映射结构而不是文件
- 无法推送到由静态映射<结构创建的队列,队列>
- 将映射结构强制转换为void指针和解引用