作者adrianshum (Alien)
看板C_and_CPP
標題Re: 請問如何計算一個指標陣列的長度?
時間Mon Jun 8 15:08:51 2009
※ 引述《sunkill (風樹)》之銘言:
: char** a;
: a=new char*[3];
: for(int i=0;i<3;i++) a[i]=new char[10];
: for(int i=0;i<3;i++) delete [] p[i]
: delete[] p;
: 請問我要怎麼得到 3 呢?
: 如果說是一個 function 傳進來的 value **a
: 而這個 a 已經配製好空間也存了字串
: 感謝
有些方法是能夠在某些情況下知道 array size
(之前有人提及過用 template)
但這只是某些情況合用, 比如你這情況就不行了.
治本的方法, 還是
1) 改用 vector, 或
2) 把 array size 另外記錄並加上新 method param 傳入相關 method, 或
3) 用特定 value indicate end-of-array (比如多allocate 一個 element,
把最後一個設定 NULL)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 202.155.236.82
推 sunkill:如果是 char* a[3] 3 是 new 呢? 06/08 16:16
→ adrianshum:總之永遠不要當有方法直接找到 array size. 用我文章 06/08 16:22
→ adrianshum:提到的方法解決吧, 這樣別人用起來也統一 06/08 16:22
推 sunkill:授教 謝謝 06/08 17:43