singleton class C++ Singleton 模式
来源:互联网 发布:windows最小的系统 编辑:程序博客网 时间:2024/06/06 16:35
三个文件:socket_include.h 、socket.h 、socket.cpp;
//socket_include.h
#ifndef _SOCKETS_socket_include_H
#define _SOCKETS_socket_include_H
#define _SOCKETS_socket_include_H
// class WSAInitializer is a part of the Socket class (on win32)
// as a static instance - so whenever an application uses a Socket,
// winsock is initialized
class WSAInitializer // Winsock Initializer
{
public:
WSAInitializer() {
if (WSAStartup(0x101,&m_wsadata))
{
exit(-1);
}
}
~WSAInitializer() {
WSACleanup();
}
private:
WSADATA m_wsadata;
};
// as a static instance - so whenever an application uses a Socket,
// winsock is initialized
class WSAInitializer // Winsock Initializer
{
public:
WSAInitializer() {
if (WSAStartup(0x101,&m_wsadata))
{
exit(-1);
}
}
~WSAInitializer() {
WSACleanup();
}
private:
WSADATA m_wsadata;
};
//Socket.h
#ifndef _SOCKETS_Socket_H
#define _SOCKETS_Socket_H
#define _SOCKETS_Socket_H
#include "socket_include.h"
class Socket
{
..............
{
..............
#ifdef _WIN32
static WSAInitializer m_winsock_init; //< Winsock initialization singleton class
#endif
static WSAInitializer m_winsock_init; //< Winsock initialization singleton class
#endif
..............
}
//Socket.cpp
#include "Socket.h"
// statics
#ifdef _WIN32
WSAInitializer Socket::m_winsock_init;
#endif
#ifdef _WIN32
WSAInitializer Socket::m_winsock_init;
#endif
通过在Socket.h中声明
static WSAInitializer m_winsock_init
把类WSAInitializer实现单例模式!
- singleton class C++ Singleton 模式
- Singleton模式(C++)
- 【C++】实现Singleton模式
- Singleton class
- singleton class
- singleton class
- C#.net Singleton 单体模式
- c++-单例模式Singleton
- Singleton设计模式(C++)
- Singleton模式
- Singleton模式
- singleton模式
- Singleton模式
- Singleton模式
- Singleton模式
- Singleton模式
- Singleton 模式
- Singleton模式
- Oracle Net Manager 的使用方法(监听的配置方法)
- 备忘之数据库
- Fedora下yum源配置问题和星际译王的安装问题
- PL/SQL集合类型详细讲解
- 如何在LoadRunner中监控oracle数据库
- singleton class C++ Singleton 模式
- SQL Server存储过程入门案例详解[转]
- MS SQL 获取数据库名,表名,列名,说明等信息(SQL Server 2005 测试通过)
- simhash算法的原理
- Bloom Filter概念和原理
- 文件锁使用原理及其方法
- 几个常用结构
- C++学习:list容器详解(一)
- C#正则表达式|C#快速开发工具