Re: [問題] 指標大小
※ 引述《ganlinliu ( )》之銘言:
: 標題: [問題] 指標大小
: 時間: Sun May 29 21:59:37 2011
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: Borland C++ Builder
: 問題(Question):
: 想請問一下 假如我有一筆類別a的資料
: 資料的筆數是需動態增減的
: class a
: {
: };
: a *ptr[i]; 其實這個i大小沒辦法事先知道 輸入資料的筆數越多
: i也就必須越大才夠放 而且輸入的筆數是程式執行時才決定的 可是目前我都是寫死的
: 也就是都寫成 a *ptr[200]; 所以就都只先存200筆而已
: 不知有沒有方法讓i可以在程式執行時才動態的做增減
: 輸入100筆i就100 輸入500筆資料i就增加到500這樣
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 122.124.186.172
: → azureblaze:std::vector 05/29 22:04
: → azureblaze:http://ppt.cc/1ISF 用法可以參考這個 05/29 22:08
: → firejox:VLA? 05/29 22:19
: 推 chchwy:vector, 或者雙重指標 a** ptr ? 05/29 22:23
: → diabloevagto:一維用vector,二維用boost,或是自己用new 05/29 23:10
: 推 dSnAil:Linked List? 05/30 01:56
: → johnhmj:上面幾層樓的大大們都把答案給講出來了… ( ̄ー ̄;) 05/30 15:36
: → angleevil:如果是用c寫,link list是最佳解,再來是malloc和realloc 05/30 16:07
: → firejox:c99可以支持VLA呀XD 05/30 18:14
不好意思再請問一下
由於我的a類別並非建立實體的類別 所以指標都需要向下轉型
也就是b、c才是建立實體跟運作的類別 a是做管理用的抽象類別
class b : public a class c : public a
{ {
}; };
有可能 ptr[0]= new b();
ptr[1]= new c();
ptr[2]= new b();
ptr[3]= new c();
ptr[4]= new c();
[5]
.
.
.
.
等等
a *ptr[i] 所以我都需要藉助這個索引 [i] 來做第i筆資料的選取
請問那又該怎麼辦呢 因為我存資料、取資料、資料間做比對都是認這個索引值[i]
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.124.186.172
→
05/30 20:30, , 1F
05/30 20:30, 1F
→
05/30 20:32, , 2F
05/30 20:32, 2F
→
05/30 20:32, , 3F
05/30 20:32, 3F
※ 編輯: ganlinliu 來自: 122.124.186.172 (05/30 20:35)
→
05/30 20:35, , 4F
05/30 20:35, 4F
請問接下來是這樣嗎
if( typeid( b) == typeid( ptr[i]))
{
b* pb= dynamic_cast<b*>( ptr[i]);
if( pb)
{
運作;
}
}
※ 編輯: ganlinliu 來自: 122.124.186.172 (05/30 22:20)
→
05/30 22:21, , 5F
05/30 22:21, 5F
→
05/30 22:23, , 6F
05/30 22:23, 6F
→
05/30 22:23, , 7F
05/30 22:23, 7F
→
05/30 22:23, , 8F
05/30 22:23, 8F
→
05/30 22:24, , 9F
05/30 22:24, 9F
→
05/31 00:39, , 10F
05/31 00:39, 10F
→
05/31 00:39, , 11F
05/31 00:39, 11F
→
05/31 02:24, , 12F
05/31 02:24, 12F
→
05/31 02:24, , 13F
05/31 02:24, 13F
→
05/31 10:24, , 14F
05/31 10:24, 14F
→
05/31 10:25, , 15F
05/31 10:25, 15F
→
05/31 10:26, , 16F
05/31 10:26, 16F
推
06/02 10:15, , 17F
06/02 10:15, 17F
討論串 (同標題文章)