- class A
- {
- protected:
- static long m_nRef;
- public:
- //类A的构造函数
- A()
- {
- if(1 == InterlockedIncrement(&m_nRef))
- {
- //以下代码只执行一次
- WSADATA wsaData;
- WSAStartup(MAKEWORD(2,2), &wsaData);
- }
- };
- //类A的虚析构函数
- virtual ~A()
- {
- if(0 == InterlockedDecrement(&m_nRef))
- {
- //以下代码只执行一次
- WSACleanup();
- }
- }
- };
- long A::m_nRef = 0;
InterlockedIncrement和InterlockedDecrement的妙用
最新推荐文章于 2019-10-13 15:09:55 发布