24小时热门版块排行榜    

CyRhmU.jpeg
查看: 532  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

lixy1217

木虫 (著名写手)

[求助] 指针数组长度

在C++中,对于任意类型的指针型数组,如何才能知道它的长度?强调一点,该数组是先通过定义指针然后用new申请了数组存储空间。请问可以用什么样的程序或者函数来给出?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

偶尔敞开心扉,世界将不再孤独
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)


jjdg(金币+1): 感谢参与 2011-08-27 01:26:51
引用回帖:
6楼: Originally posted by sudo at 2011-08-26 21:18:05:
直接推荐vector就结束了...

对呀,这个就连迭代器都配好了,省去许多麻烦事情。
漩涡的中心有一块空地,空空的。
7楼2011-08-26 21:30:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

yalefield

金虫 (文坛精英)

老汉一枚

【答案】应助回帖

★ ★
lixy1217(金币+6): 如此看来,真的是没有别的好办法了,我只是觉得如果总要记下这个n,就在函数套用时会多出好几个变量,显得比较麻烦 2011-08-24 09:48:44
余泽成(金币+2): 谢谢参与应助,好久不见了,呵呵! 2011-08-24 16:24:45
new的时候,把分配单位的数目记录下来。

如:
double * p = new double [n];
那就把这个n记录下来。

delete的时候,别忘了

delete [] p;
p = NULL;
2楼2011-08-24 07:47:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)


余泽成(金币+1): 谢谢参与应助! 2011-08-24 16:24:56
沙发是正解

因为堆管理器的实现是不一定的~所以如果不这么做,必须依赖具体环境的实现
3楼2011-08-24 09:20:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

咳,想了想,还是贴出“依赖环境的实现吧”

VC:
http://msdn.microsoft.com/en-us/library/z2s077bc.aspx
CODE:
size_t _msize(void *memblock);

linux:
http://fuse4bsd.creo.hu/localcgi/man-cgi.cgi?malloc+3
CODE:
#include
size_t malloc_usable_size(const void *ptr);

4楼2011-08-26 17:03:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见