注册 登录
编程论坛 VC++/MFC

请教这段使用临界区的代码为什么会Crash呢?

happyhhhh2 发布于 2011-02-11 21:10, 371 次点击
程序代码:
莫非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;
}

0 回复
1