前言
最近作者在项目中遇到一个问题,类静态成员map无法进行初始化,这个问题困扰了作者好多天,今天突然发现了解决此类问题的方法,就写下这篇博客,供大家学习交流,废话不多说了,直接贴代码了
自己写的一个测试类
</pre><pre name="code" class="cpp">//MapTest.h
#pragma once
#include <map>
using namespace std;
typedef map<int,int> IntMap;
class MapTest
{
public:
MapTest(void);
virtual ~MapTest(void);
public:
static IntMap m_staticMap;
};
//MapTest.cpp
#include "MapTest.h"
pair<int,int> pairArray[] =
{
make_pair(1,2),
make_pair(2,3),
make_pair(4,5)
};
IntMap MapTest::m_staticMap(pairArray,pairArray+sizeof(pairArray)/sizeof(pairArray[0]));
MapTest::MapTest(void)
{
}
MapTest::~MapTest(void)
{
}
测试上述静态map
#include <iostream>
#include "MapTest.h"
using namespace std;
int main(void)
{
for (IntMap::iterator iter = MapTest::m_staticMap.begin();
iter != MapTest::m_staticMap.end(); iter++)
{
cout<<iter->first<< " "<<iter->second<<endl;
}
return 0;
}