24小时热门版块排行榜    

查看: 704  |  回复: 8

lixy1217

木虫 (著名写手)

[求助] 指针数组长度

在C++中,对于任意类型的指针型数组,如何才能知道它的长度?强调一点,该数组是先通过定义指针然后用new申请了数组存储空间。请问可以用什么样的程序或者函数来给出?
回复此楼
偶尔敞开心扉,世界将不再孤独
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

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的回帖

huycwork

金虫 (著名写手)

用C++就别这么土了,好好的对象放着不用,裸指针多不专业呀?!
来个参考答案,模板咯:
CODE:
template
class array{
    type *p;
    array():p(new type[N]){}
    size_t size(){return N;}
    ~array(){delete [] p;}
};

漩涡的中心有一块空地,空空的。
5楼2011-08-26 20:42:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

引用回帖:
5楼: Originally posted by huycwork at 2011-08-26 20:42:40:
用C++就别这么土了,好好的对象放着不用,裸指针多不专业呀?!
来个参考答案,模板咯:
[code]
template <typename type, size_t N>
class array{
    type *p;
    array():p(new type[N]){}
     ...

直接推荐vector就结束了...
6楼2011-08-26 21:18:05
已阅   回复此楼   关注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的回帖

lixy1217

木虫 (著名写手)

引用回帖:
5楼: Originally posted by huycwork at 2011-08-26 20:42:40:
用C++就别这么土了,好好的对象放着不用,裸指针多不专业呀?!
来个参考答案,模板咯:
[code]
template <typename type, size_t N>
class array{
    type *p;
    array():p(new type[N]){}
     ...

我现在的编程习惯还是用C,不会使用 类。想有时间了就学一学,有什么比较好的可以推荐的书籍吗?还是说只要是C++方面的书都可以
偶尔敞开心扉,世界将不再孤独
8楼2011-08-27 10:43:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

引用回帖:
8楼: Originally posted by lixy1217 at 2011-08-27 10:43:55:
我现在的编程习惯还是用C,不会使用 类。想有时间了就学一学,有什么比较好的可以推荐的书籍吗?还是说只要是C++方面的书都可以

如果只是想学类呢,即便是谭浩强写的也可以,学C++的话还是得用好书,比如《C++Primer》,《C++程序设计语言》之类的,当然这些书写得也是很复杂的,C++本身就很复杂。不想那么深入也没事儿,因为C++里面的class和struct基本上是同义词…你就把class想象成带函数的C struct就差不离了。
漩涡的中心有一块空地,空空的。
9楼2011-08-27 12:21:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lixy1217 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 kvewwGtKktqB 2026-11-04 12/600 2026-11-05 20:21 by qL1cU46YIdK0
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 hNpp4Y2CGvSC 2026-11-04 11/550 2026-11-05 20:21 by qL1cU46YIdK0
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 ncTVBM6AOJHF 2026-11-04 11/550 2026-11-05 20:10 by qL1cU46YIdK0
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +5 ncTVBM6AOJHF 2026-11-04 12/600 2026-11-05 20:10 by qL1cU46YIdK0
[考博] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +6 ncTVBM6AOJHF 2026-11-04 9/450 2026-11-05 20:10 by qL1cU46YIdK0
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 ttH3f1oA6ace 2026-11-04 6/300 2026-11-05 18:00 by My20PsvIExYO
[考博] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 kvewwGtKktqB 2026-11-04 8/400 2026-11-05 17:47 by My20PsvIExYO
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +5 kvewwGtKktqB 2026-11-04 13/650 2026-11-05 17:47 by My20PsvIExYO
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 ncTVBM6AOJHF 2026-11-04 14/700 2026-11-05 17:36 by My20PsvIExYO
[硕博家园] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 ncTVBM6AOJHF 2026-11-04 9/450 2026-11-05 17:26 by My20PsvIExYO
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 ncTVBM6AOJHF 2026-11-04 9/450 2026-11-05 17:25 by My20PsvIExYO
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +6 ncTVBM6AOJHF 2026-11-04 16/800 2026-11-05 17:25 by My20PsvIExYO
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 ncTVBM6AOJHF 2026-11-04 13/650 2026-11-05 17:15 by My20PsvIExYO
[基金申请] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 ELBZ6WwEaRj6 2026-11-04 7/350 2026-11-05 16:08 by My20PsvIExYO
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 ELBZ6WwEaRj6 2026-11-04 7/350 2026-11-05 16:08 by My20PsvIExYO
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 ttH3f1oA6ace 2026-11-04 9/450 2026-11-05 15:46 by My20PsvIExYO
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 ncTVBM6AOJHF 2026-11-04 9/450 2026-11-05 15:13 by My20PsvIExYO
[教师之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 ncTVBM6AOJHF 2026-11-04 12/600 2026-11-05 11:10 by PYZmcHr5kSaq
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 ncTVBM6AOJHF 2026-11-04 10/500 2026-11-05 10:39 by PYZmcHr5kSaq
[基金申请] 各位基础老师们,看完中央《从严治党》的决定后,对学术界更加有信心了吧 +5 iaeyuan 2026-11-01 5/250 2026-11-04 14:43 by jinchengzi
信息提示
请填处理意见