内存池
摘要:Why to use memory pool and how to implement itIntroduce memory poolDownload MemoryPoolSourceCode.zip - 21.82 KB IntroductionWhat is memory pool? I thi...
阅读全文
posted @
2015-01-30 14:56
Stephen_init
阅读(235)
推荐(0)
C ++ 虚函数
摘要:C ++ 虚函数 (转)第一节、一道简单的虚函数的面试题题目要求:写出下面程序的运行结果? 1、当上述程序中的函数p()不是虚函数,那么程序的运行结果是如何?即如下代码所示: class A{public: void p() { cout p();输出A,这点没有问题。 然后,A * b = n...
阅读全文
posted @
2015-01-22 10:08
Stephen_init
阅读(446)
推荐(0)
Windows FILETIME 与UNIX时间的转换
摘要:windows FILETIME时间从1601/01/01 零时零分零秒开始计时,windows每个时钟滴答将计数加一,每个时钟滴答的间隔是100 nanoseconds(纳秒,1秒=10的九次方纳秒),即每个时钟滴答= 10 (-7)秒。unix、linux时间是从1970/01/01零时零分零秒...
阅读全文
posted @
2014-10-22 09:20
Stephen_init
阅读(2707)
推荐(0)
23种设计模式 - 创建型
摘要:23种设计模式研究过好几遍了,网上的解析和例子也是超多,我就不在耗费大量空间列demo例子了。为了**再研究下这个,顺便记录下体会以备日后查询。注:类图引字互联网,但可能出处不唯一,所以不会全部列出出处。简单一句话概括各设计模式用途:Factory:省掉new,利用多态集中创建对象。Abstract...
阅读全文
posted @
2014-08-27 10:38
Stephen_init
阅读(220)
推荐(0)
iterator 前++ 后++区别
摘要:for(iterator it = begin(); it != end(); ++it)此处的 begin()《==》this->begin() 或者for(iterator it = begin(); it != end(); it++) 区别是什么呢?? 对于两种方式来说:for(itera...
阅读全文
posted @
2014-08-09 05:10
Stephen_init
阅读(506)
推荐(0)
<转>libevent使用demo
摘要:这篇文章介绍下libevent在socket异步编程中的应用。在一些对性能要求较高的网络应用程序中,为了防止程序阻塞在socket I/O操作上造成程序性能的下降,需要使用异步编程,即程序准备好读写的函数(或接口)并向系统注册,然后在需要的时候只向系统提交读写的请求之后就继续 做自己的事情,实际的读...
阅读全文
posted @
2014-08-09 04:31
Stephen_init
阅读(326)
推荐(0)
epoll 使用详解
摘要:epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在...
阅读全文
posted @
2014-08-06 06:59
Stephen_init
阅读(323)
推荐(0)
STL 较详尽总结
摘要:STL就是Standard Template Library,标准模板库。这可能是一个历史上最令人兴奋的工具的最无聊的术语。从根本上说,STL是一些“容器”的集合,这些“容器”有list, vector,set,map等,STL也是算法和其它一些组件的集合。这里的“容器”和算法的集合指的是世界上很多...
阅读全文
posted @
2014-08-05 11:16
Stephen_init
阅读(346)
推荐(0)
Vector Demo
摘要:/* * vectorDemo.cpp * * Created on: Jul 17, 2014 * Author: lichfeng */#include#include #include #include"vectorDemo.H"using namespace std;void v...
阅读全文
posted @
2014-07-18 17:48
Stephen_init
阅读(307)
推荐(0)
STL模板前言(1)
摘要:STL提供以下数据结构方便使用:顺序容器:vector(动态数组):从后面直接插入删除元素,直接访问任何元素。deque(双端队列):从前面和后面快速插入删除,直接访问任何元素。list(双链表):从任何地方快速插入和删除元素,直接访问任何元素。关联容器:set(集合):快速查找,不允许重复mult...
阅读全文
posted @
2014-07-07 09:21
Stephen_init
阅读(150)
推荐(0)
Effective C++读书笔记
摘要:1. C++的四个组成部分(相较C)c的过程式部分、面向对象、模板编程和STL。2. 尽量用const或者enum取代c语言中的#define变量定义,因为define会逃过编译器的预编译检查。使用inline代替define的宏定义,以防止片面效应3. 尽量使用const,常见的场景如下/*if ...
阅读全文
posted @
2014-07-06 20:49
Stephen_init
阅读(175)
推荐(0)
<转>C++继承中虚函数的使用
摘要:转自:http://blog.csdn.net/itolfn/article/details/7412364一:继承中的指针问题。1. 指向基类的指针可以指向派生类对象,当基类指针指向派生类对象时,这种指针只能访问派生对象从基类继承而来的那些成员,不能访问子类特有的元素 ,除非应用强类型转换,例如有...
阅读全文
posted @
2014-07-02 10:53
Stephen_init
阅读(315)
推荐(0)
C++中explicit关键字的作用
摘要:转自:http://www.cnblogs.com/winnersun/archive/2011/07/16/2108440.htmlexplicit用来防止由构造函数定义的隐式转换。要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。例如:c...
阅读全文
posted @
2014-06-30 13:40
Stephen_init
阅读(231)
推荐(0)
柔性数组(结构体最后一个域为0/1数组)
摘要:结构体最后的长度为0或1数组的作用(转载)2012-05-07 17:07:09其实很 早在看LINUX下就看到这个东西,后来在MFC内存池里同样也看到了类似的东西,还依照MFC写过一个类似的小内存池,(MFC用的是return this + 1)后来在李先静的《系统程序员成长计划》里看到了类似的定...
阅读全文
posted @
2014-04-30 14:30
Stephen_init
大端法、小端法、网络字节序
摘要:大端法、小端法、网络字节序 转关于字节序(大端法、小端法)的定义《UNXI网络编程》定义:术语“小端”和“大端”表示多字节值的哪一端(小端或大端)存储在该值的起始地址。小端存在起始地址,即是小端字节序;大端存在起始地址,即是大端字节序。也可以说: 1.小端法(Little-Endian)就是低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端。 2.大端法(Big-Endian)就是高位字节排放在内存的低地址端即该值的起始地址,低位字节排放在内存的高地址端。举个简单的例子,对于整形0x12345678。它在大端法和小端法的系统内中,分别如图1所示的方式存放。网络字节序我们
阅读全文
posted @
2014-01-14 22:52
Stephen_init
阅读(203)
推荐(0)
setsockopt()用法及参数详解
摘要:setsockopt()用法(参数详细说明) int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen);s(套接字): 指向一个打开的套接口描述字level:(级别): 指定选项代码的类型。SOL_SOCKET: 基本套接口IPPROTO_IP: IPv4套接口IPPROTO_IPV6: IPv6套接口IPPROTO_TCP: TCP套接口optname(选项名): 选项名称optval(选项值): 是一个指向变量的指针 类型:整形,套接口结构, 其他结构类型:linger{}, timeval{.
阅读全文
posted @
2013-12-26 13:37
Stephen_init
阅读(3357)
推荐(0)
C++开源库
摘要:转:http://www.189works.com/article-40804-1.html摘要: C++在商业应用方面,曾经是天下第一的开发语言,但这一桂冠已经被java抢走多年。因为当今商业应用程序类型,已经从桌面应用迅速转移成Web应 用。当Java横行天下之后,MS又突然发力,搞出C#语言,有大片的曾经的C++程 ...C++在“商业应用”方面,曾经是天下第一的开发语言, 但这一桂冠已经被java抢走多年。因为当今商业应用程序类型,已经从桌面应用迅速转移成Web应 用。当Java横行天下之后,MS又突然发力,搞出C#语言,有大片的曾经的C++程序员,以为C++要就此沉沦,未料,这三年来
阅读全文
posted @
2012-10-09 22:35
Stephen_init
阅读(165)
推荐(0)
(转)进程多次打开同一文件分析
摘要:父子进程打开同一个文件首先明确一下,同一个文件在同一个进程中可以被打开多次,只是返回的文件描述符不同。read、write、lseek都涉及到文件指针,文件指针是跟文件描述符关联在一起,跟物理文件是分开的。看一段程序: 1 #include<stdio.h> 2 #include<string.h> 3 #include<fcntl.h> 4 #include<unistd.h> 5 #include<sys/types.h> 6 #include<sys/stat.h> 7 8 main(){ 9 int fd1,fd2
阅读全文
posted @
2012-08-29 10:10
Stephen_init
阅读(2241)
推荐(0)