
莫非hash_map不允许使用带临界区的对象么?还是一旦初始化了临界区的对象就不允许复制了??
#include "stdafx.h"
#include <windows.h>
#include <hash_map>
#include <string>
using namespace std;
using namespace stdext;
class CTest
{
public:
CTest()
{
memset(&m_sec, 0, sizeof(CRITICAL_SECTION));
InitializeCriticalSection(&m_sec);
}
virtual ~CTest()
{
DeleteCriticalSection(&m_sec);
}
protected:
CRITICAL_SECTION m_sec;
};
int _tmain(int argc, _TCHAR* argv[])
{
hash_map<std::string,CTest> m_test;
CTest objPingTest;
m_test["test"] = objPingTest;
return 0;
}
#include "stdafx.h"
#include <windows.h>
#include <hash_map>
#include <string>
using namespace std;
using namespace stdext;
class CTest
{
public:
CTest()
{
memset(&m_sec, 0, sizeof(CRITICAL_SECTION));
InitializeCriticalSection(&m_sec);
}
virtual ~CTest()
{
DeleteCriticalSection(&m_sec);
}
protected:
CRITICAL_SECTION m_sec;
};
int _tmain(int argc, _TCHAR* argv[])
{
hash_map<std::string,CTest> m_test;
CTest objPingTest;
m_test["test"] = objPingTest;
return 0;
}