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
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 语言程序(二)
- 如何写好 C main 函数
- VC中实现文字竖排的简单方法(推荐)
- Lua和C语言的交互详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- C语言练习题:自由落体的小球简单实例
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总
- C语言中进制知识汇总
- C语言判断一个数是否是2的幂次方或4的幂次方
- C语言中计算正弦的相关函数总结
- 使用C语言详解霍夫曼树数据结构