
设计
icenic
我的EMAIL:icewall163.com
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
log4cplus源码分析
1【引题】 虽然从本科起就学的C++,然后在工作的2年时间中也不断的在用C++写代码,虽然基本的语法和一些常用的库函数已经滚瓜烂熟,可是总觉得自己写的代码还不是很专业,特别是看到那些老外们写得代码,从设计,到编码风格,再到各种编程技法的使用有很多都是值得学习和领悟的。于是,就决定静下心来找点开源的代码来研习。 因为LOG4CPLUS代码量不是很大,而且功能也不是非常复杂,不就是记个日志么,呵呵原创 2012-05-29 21:01:01 · 2795 阅读 · 1 评论 -
STL string 类型探秘
一【概述】 在C语言中,我们一般用char数组来定义一个字符串,那么既然是数组我们往往需要提前判断字符串的最大长度,可问题是谁也不知道这最大长度究竟有多长,而且这也是很多编程BUG的根源。那么在C++标准库中,我们可以通过string类型来定义一个字符串,就不必考虑数组长度等这么多底层的东西,只需要考虑业务功能的实现就可以了。 虽然有了现成的string类型,可是string这个类是如何实原创 2012-06-21 00:14:18 · 1032 阅读 · 0 评论 -
C++异常类设计
一【概述】 在平时的开发过程中,我发现很多程序员都不愿意使用异常类。问他们为什么不用,回答无非有以下几种:1. 使用异常类太麻烦了,没有返回错误码的方式方便;2. 已经习惯C语言中使用以返回错误码的方式来处理异常情况了;3. C++的异常类的代码编写加重了程序员负担,提高了开发成本;4. C++代码中有时需要调用一些C库,而C语言是返回错误码的,所以为了统一风格也就将就着使用返回值了。那原创 2012-07-14 18:59:36 · 1738 阅读 · 0 评论 -
内存池的设计
一【内存池概述】 内存池是一种存在于进程中,对程序运行时动态分配的内存进行管理的机制。它主要有三个功能:1减少内存碎片;2防止内存泄露;3减少因频繁请求内存动态分配而造成系统调用过于频繁。 第一点:内存碎片分为内部碎片和外部碎片。内部碎片:就是系统给你分配了一个内存块,你只使用了其中一部分,那剩余的一部分就是内部碎片了。而外部碎片:就是系统内存空间里面夹杂在两个已分配内存块之间的空闲内存。一般原创 2012-12-17 11:24:38 · 714 阅读 · 0 评论