这段代码的异常是什么!一个全局实例,调用时会出现异常
这段代码的错误是什么!一个全局实例,调用时会出现错误
下面是一个C++全局实例代码,不知错误在哪里!
下面是一个C++全局实例代码,不知错误在哪里!
- C/C++ code
#ifndef _OUT_LIB_H_ #define _OUT_LIB_H_ //#include "stdafx.h" #include "IoHandle.h" #include "Session.h" #include "Network.h" #include "RecvBuf.h" #include "SendBuf.h" #include "MyObject.h" //class AsioNetwork; class MeNetObject; //class IoHandle; //class RecvBuffer; //class SendBuffer; //class Session; namespace ASIO_NET { class COutLib { public: COutLib(); ~COutLib(); static COutLib * Instance(); AsioNetwork * InstanceNetWork(); NetObject * InstanceNetObject(); IoHandle * InstanceIoHandle(); Session * InstanceSession(); RecvBuffer * InstanceRecvBuffer(); SendBuffer * InstanceSendBuffer(); private: static COutLib * g_pInstance; AsioNetwork * g_pNetWorkInstance; MeObject * g_pNetObjectInstance; IoHandle * g_pIoHandleInstance; Session * g_pSessionInstance; RecvBuffer * g_pRecvBufferInstance; SendBuffer * g_pSendBufferInstance; }; /***************************************************************************************************************************/ COutLib* COutLib::g_pInstance = 0; COutLib::COutLib() { // g_pInstance = new COutLib(); g_pNetWorkInstance = new AsioNetwork(); g_pNetObjectInstance = new MeObject(); g_pIoHandleInstance = new IoHandle(); g_pSessionInstance = new Session(1,g_pIoHandleInstance); g_pRecvBufferInstance = new RecvBuffer(); g_pSendBufferInstance = new SendBuffer(); } COutLib::~COutLib() { if(g_pInstance != NULL) { // delete g_pInstance; delete g_pNetWorkInstance; delete g_pNetObjectInstance; delete g_pIoHandleInstance; delete g_pSessionInstance; delete g_pRecvBufferInstance; delete g_pSendBufferInstance; } } /***************************************************************************************************************************/ inline COutLib* COutLib::Instance() { return g_pInstance; } /***************************************************************************************************************************/ inline AsioNetwork* COutLib::InstanceNetWork() { return g_pNetWorkInstance; } ///***************************************************************************************************************************/ inline NetObject* COutLib::InstanceNetObject() { return g_pNetObjectInstance; } ///***************************************************************************************************************************/ inline IoHandle* COutLib::InstanceIoHandle() { return g_pIoHandleInstance; } ///***************************************************************************************************************************/ inline RecvBuffer* COutLib::InstanceRecvBuffer() { return g_pRecvBufferInstance; } ///***************************************************************************************************************************/ inline SendBuffer* COutLib::InstanceSendBuffer() { return g_pSendBufferInstance; } ///***************************************************************************************************************************/ inline Session* COutLib::InstanceSession() { return g_pSessionInstance; } ///***************************************************************************************************************************/ } #endif