【发布时间】:2012-06-10 17:20:29
【问题描述】:
我正在尝试创建在我的类的构造函数中声明的静态映射。 该映射将在一种方法中初始化并填充数据,并在另一种方法中释放。 这是正确的做法吗?
using namespace std;
#include <map>
struct a {
string b;
string c;
}
class aClass:public myClass
{
public:
aClass();
virtual ~aClass();
private:
map<string, a> myMap;
void method(int a);
void amethod(int b);
}
void aClass::method(int a)
{
myMap = new map<string, a>;
// Addition of elements;
}
void aClass::amethod(int b)
{
// retrival of elements
myMap.clear();
delete myMap;
}
【问题讨论】:
-
在您的代码中,
myMap不是static。您所说的“静态”究竟是什么意思? -
为什么您认为您需要新建地图并稍后将其删除?只需按值保存一个映射,并在适当的时间对其调用 clear()。
-
我怀疑您是否打算包含 [sli] 标签。我编辑了您的帖子,改为包含 [stl] 标签。
标签: c++ data-structures stl map