您的位置:首页 > 编程语言 > C语言/C++

VC CArray

2016-07-12 16:47 609 查看
转载自:http://blog.csdn.net/whatday/article/details/8245963

1.CArray类应用

函数简介

CArray::GetSize

int GetSize( ) const;

取得当前数组元素个数.

CArray::GetUpperBound

int GetUpperBound( ) const;

最得最大的元素的索引,由于C的数组是从0开始,所以此函数的返回值比GetSize的返回值比 小.

CArray::SetSize

void SetSize( int nNewSize, int nGrowBy = -1 );

throw( CMemoryException );

设置数组的大小.

CArray::FreeExtra

void FreeExtra( );

释放未使用的空间.

CArray::RemoveAll

void RemoveAll( );

删除所有的元素.

CArray::GetAt

TYPE GetAt( int nIndex ) const;

根据索引(参数)取得某个数组元素的值.

CArray::SetAt

void SetAt( int nIndex, ARG_TYPE newElement );

将第nIndex的元素的值设置成newElement.

CArray::ElementAt

TYPE& ElementAt( int nIndex );

取得第nIndex个元素的引用.

CArray::GetData

const TYPE* GetData( ) const;

TYPE* GetData( );

取得静态数组指针.

void SetAtGrow( int nIndex, ARG_TYPE newElement );

throw( CMemoryException );

将第nIndex个元素设置成newElement,如果数组元素不够,会增加空间.

CArray::Add

int Add( ARG_TYPE newElement );

throw( CMemoryException );

增加一个元素.

CArray::Append

int Append( const CArray& src );

将另一个数组追加过来.

void Copy( const CArray& src );

复制数组,已经内容将会被覆盖.

CArray::InsertAt

void InsertAt( int nIndex, ARG_TYPE newElement, int nCount = 1 );

throw( CMemoryException );

void InsertAt( int nStartIndex, CArray* pNewArray );

throw( CMemoryException );

插入一个元素(或另一个数组)到数组.

CArray::RemoveAt

void RemoveAt( int nIndex, int nCount = 1 );

删除另一个元素.

CArray::operator [ ]

TYPE& operator []( int nIndex );

TYPE operator []( int nIndex ) const;

通过索引设置或取得另一个元素.

使用实例

#include "afxtempl.h"

//...

CArray<object,object>

注意深浅拷贝的问题。
例如:Carray<Tchar*,Tchar*>  这样直接赋值采用的是浅拷贝,仅仅进行地址拷贝。这样在连续delete操作时,很容易造成同一个地址区域被多次delete
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 vc MFC