DXUT11框架浅析(8)--CGrowableArray
CGrowableArray是一个模板类,实现了类似std::vector的数据结构。是一个基本数组,数据按顺序的依次存放。
1. 类的定义
template<typename TYPE> class CGrowableArray
{
public:
// 构造和销毁一个数组
CGrowableArray() { m_pData= NULL; m_nSize= 0; m_nMaxSize = 0; }
CGrowableArray(const CGrowableArray<TYPE>& a) { for( int i=0; i < a.m_nSize; i++ ) Add( a.m_pData[i] ); }
CGrowableArray& operator = ( constCGrowableArray<TYPE>&a )
{ if( this == &a ) return *this; RemoveAll(); for( int i=0; i < a.m_nSize; i++ ) Add( a.m_pData[i] ); return *this; }
~CGrowableArray(){ RemoveAll(); }
// 为数组增加元素
HRESULT Add( const TYPE& value);
HRESULT Insert( int nIndex, const TYPE& value);
HRE