carray专题

MFC中CArray类原理及其应用

1.CArray类应用 函数简介 CArray::GetSize  int GetSize( ) const; 取得当前数组元素个数. CArray::GetUpperBound  int GetUpperBound( ) const; 最得最大的元素的索引,由于C的数组是从0开始,所以此函数的返回值比GetSize的返回值比 小. CArray::SetSize  void SetSi

CArray析构崩溃问题

今天遇到一个CArray 作为类成员析构崩溃的问题,百思不得其解,后来查了半天,才发现问题出在CArray的内存拷贝上,这点跟标准库的容器不一样,需要注意。 struct stBasicType{int x;int y;std::map<int, int> m_map;};void testNullMapDestroy(){CArray<stBasicType> arr; for (in

CArray 的两种方式与类中包含指针情况

参考:http://bbs.csdn.net/topics/390452085 项目很复杂,我简化了下代码 考虑一个类进 CArray   class A{int *m_a;public:A()//不带参数构造函数,只是为了通过编译{int fenge = 4;};A(int n)//我需要用的构造函数{m_a = new int;m_a[0] = n;}A(A& _a)//深度拷贝构

CArray使用qsort排序

按照Str_pin从小到大排序 CWrap_LineDlg.h:typedef int (__cdecl *GENERICCOMPAREFN)(const void * elem1, const void * elem2);static int __cdecl Cmp(const Record** a,const Record** b);struct Record {double x1;

CArray,CMap,CList详解

1. 数组--CArray   访问方法及效率和普通的数组一样,比普通数组强大的功能是可以改变数组的大小。    Array采用队列方式存储数据,因而其内部数据元素是以物理方式顺序排列的, 所以检索、顺序执行GetAt()等函数的速度是相当快的。但是由于每次队列长度变化后,数据都要重新申请内存、拷贝内存、释放内存,因而 Insert/Add/RemoveAt()的速度都很慢。如果你使用