读书人

那么好了有关问题变了

发布时间: 2012-02-09 18:22:27 作者: rapoo

那么好了问题变了!
呵呵
那么给你int*p=int [20]; 既然sizeof(p)得不到该动态数组的大小,如何才能得到它的大小呢?


上接帖子:int*p=int [20];多谢这个帖子回复的兄弟!我没有说清楚, 本帖是我要问的问题核心,hehe




[解决办法]
在堆上分配的数组,没有正常途径能获得其大小。
[解决办法]
new的时候不保存大小,delete的时候怎么释放?
只是不知道怎么获得
[解决办法]
1、是不是应该是int * p = new int[20]呢
2、new在分配的时候,其实是分两步,一步是先调用operator new 来分配大小合适的内存,然后调用int的构造函数,这样,C++编译器本身其实知道它的大小的,所以可以调用delete来删除。

读书人网 >C++

热点推荐