VC中获得动态数组长度与数组元素个数

来源:互联网 发布:网络空间购买 编辑:程序博客网 时间:2024/05/14 10:34

实现动态内存管理有两种方式:

填表式:每次分配的时候记录起始地址和大小,释放时候查询表完成,这种方式用户无法知道大小。

Cookie式:每次分配动态动态数组起始地址之前记录动态数组的大小,VC中用这种方式实现。VC中可用如下方法获得动态数组大小:

int *p=new int[10];

int size=*(p-4);

cout<<"数组长度"<<size<<endl;//这里输出40

cout<<"数组元素个数"<<size/(sizeof(int))<<endl;//这里为显示共40/4=10个元素。

原创粉丝点击