/RaiiObjectPool

it contains a RAII example and an object pool in c++

Primary LanguageC++

========================================================================
    控制台应用程序:TRaii 项目概述
========================================================================

应用程序向导已为您创建了此 TRaii 应用程序。

本文件概要介绍组成 TRaii 应用程序的每个文件的内容。


TRaii.vcxproj
    这是使用应用程序向导生成的 VC++ 项目的主项目文件,其中包含生成该文件的 Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。

TRaii.vcxproj.filters
    这是使用“应用程序向导”生成的 VC++ 项目筛选器文件。它包含有关项目文件与筛选器之间的关联信息。在 IDE 中,通过这种关联,在特定节点下以分组形式显示具有相似扩展名的文件。例如,“.cpp”文件与“源文件”筛选器关联。

TRaii.cpp
    这是主应用程序源文件。

/////////////////////////////////////////////////////////////////////////////
其他标准文件:

StdAfx.h, StdAfx.cpp
    这些文件用于生成名为 TRaii.pch 的预编译头 (PCH) 文件和名为 StdAfx.obj 的预编译类型文件。

/////////////////////////////////////////////////////////////////////////////
其他注释:

应用程序向导使用“TODO:”注释来指示应添加或自定义的源代码部分。

/////////////////////////////////////////////////////////////////////////////
代码主要为C++的RAII编程技法的应用以及编写的一个复用对象池
利用模板类实现,参考stl的设计方式使用空间配置器,完成自动的对象构造以及
析构,完成自动的内存管理,所有的数据区均为分配在堆内存的区域,在栈中数据
只为指针数据,最后对象池在生命周期结束时自动析构,触发内存的完全释放,经过
测试,对象池使对象得到性能较高的多次复用,适用于对象构造频繁且对象生命周期
较短的应用场合。
/////////////////////////////////////////////////////////////////////////////
对象池主要结构为一个链表,以及一个空闲指针容器,详细的工作原理会在本人的一篇
博客中详细讲述,由于个人水平有限,若代码有漏洞或理解不到位的地方,敬请指点。
本人博客:http://blog.csdn.net/u013700510