【发布时间】:2013-01-09 14:26:52
【问题描述】:
我有一个私人领域
std::map<std::string, std::multiset<GraphObject*>>* the_Map;
如何为其分配内存并插入 GraphObject? 我必须使用 new 运算符吗?
the_Map = new map<string,multiset<GraphObject*>>;
我怎样才能插入一个新的 GraphObject? 它是数据结构的一部分,我真的需要一个指向地图的指针。
【问题讨论】:
-
std::map<std::string, std::multiset<GraphObject*>> the_Map;(不是指针,不是new,什么都没有)可以正常工作。 -
首先,您真的需要指向地图的指针吗?其次,您是否可以访问文档?
-
为什么一开始就将字段声明为指针?
-
我无法更改字段。它是数据结构的一部分,我需要访问整个班级的地图。
-
让我想起了 Bjarne 的评论:“如果那是 C++,我也讨厌它。”使用指针而不是(自动存储类)映射对象不会使整个类更容易访问它。
标签: c++ memory-management maps