看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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