推 timrau:改capacity請使用reserve(); resize後iterator仍然有效 01/08 22:19
→ timrau:純屬運氣好,除了list(deque可能也行)以外請別這樣做... 01/08 22:19
→ timrau:"C++ Standard Library"一書中皆有說明 01/08 22:20
→ dryman:後來發現這個capacity跟我們實做adt.array時不同 01/08 22:41
→ dryman:因為vector實際上是alloc max_size這麼大的空間 01/08 22:42
→ dryman:我使用resize()時max_size是一樣的 01/08 22:42
→ dryman:耶? 我推的好像還是有錯誤的樣子.. 01/08 22:44
→ dryman:如一樓所說,改capacity應該用reserve() 01/08 22:45
→ dryman:capacity還是alloc的大小,不過可以用reserve更改大小 01/08 22:46
→ dryman:the true limit of vector is vector::max_size 01/08 22:47
推 ric2k1:Hash() 是 default constructor, 比方說像是 BddMgr 的 01/08 22:58
→ ric2k1:constructor 會先呼叫這個 constructor 然後在 init() 裏頭 01/08 22:59
→ ric2k1:才去呼叫 Hash 的 init() 去 allocate buckets. 01/08 23:00
→ ric2k1:是不 safe,所以你 Hash 裏的 function 應該要檢查_buckets 01/08 23:01
→ ric2k1:是否為 NULL 01/08 23:02
→ dryman:喔喔,soga! 01/08 23:04
推 slinh:喔喔 01/08 23:05