Vulkan

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

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

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

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

int *p=new int[10];

int size=*(p-4);

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

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

posted on 2012-03-20 14:21  Vulkan  阅读(338)  评论(0编辑  收藏  举报

导航