⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 warsmartpointer.cpp

📁 ftpserver very good sample
💻 CPP
字号:
#include "StdAfx.h"#include <assert.h>#include "WarSmartPointer.h"   // class implemented#include "WarCriticalSection.h"#include "WarAutoLock.h"#ifndef WAR_PERFMON_DEF_H#   include "WarPerfmonDef.h"#endif// ConstantsWarCriticalSection *WarSmartPointer::mspLock;#define AUTO_LOCK WarAutoLock MyLock(*mspLock);/////////////////////////////// PUBLIC /////////////////////////////////////////============================= LIFECYCLE ====================================WarSmartPointer::WarSmartPointer(): mRefCnt(0){    WAR_DB_PERFMON_INC(WAR_PRFDEBUG_NUM_AUTOPTR);}// WarSmartPointerWarSmartPointer::~WarSmartPointer(){    WAR_DB_PERFMON_DEC(WAR_PRFDEBUG_NUM_AUTOPTR);}// ~WarSmartPointer//============================= OPERATORS ====================================//============================= OPERATIONS ===================================void WarSmartPointer::Initialize(){    if (!mspLock)        mspLock = new WarCriticalSection;}void WarSmartPointer::Attach(){    AUTO_LOCK    ++mRefCnt;}void WarSmartPointer::Detach(){    {        AUTO_LOCK        if (--mRefCnt <= 0)            goto destroy_me; // We can not die when the lock is active    }    return;    destroy_me:    delete this;}//============================= ACESS      ===================================//============================= INQUIRY    ===================================/////////////////////////////// PROTECTED  ////////////////////////////////////////////////////////////////// PRIVATE    ///////////////////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -