首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

那么好了有关问题变了

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

那么好了问题变了!
呵呵
那么给你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来删除。

热点排行