[問題] 動態記憶體的小問題

看板C_and_CPP (C/C++)作者 (我是男的喔~^0^")時間16年前 (2009/12/04 09:38), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
不好意思...因為最近在看動態記憶體的部份 結果出現一個問題 可能是觀念上...但我不是很懂他的用法 問題是 string s 跟 string *s = new string vector<int> v 跟 vector<int> *v = new vector<int> 概念上是一樣的嗎? 如果是陣列我可以理解動態配置為了像系統要自由空間 但是vector跟string這種沒有固定限制的物件 配置自由空間的意義何在呢? 能否請前輩指點一下...謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.231.67.43

12/04 09:55, , 1F
佔用記憶體空間的生命週期不同吧小弟我猜....@_@"
12/04 09:55, 1F

12/04 10:55, , 2F
STL 容器用 new 沒啥太大意義,因為一來它又不需要多型操
12/04 10:55, 2F

12/04 10:55, , 3F
作,二來會讓 v[i] 變得很麻煩要用 (*v)[i],唯一可能需要
12/04 10:55, 3F

12/04 10:56, , 4F
這樣搞的場合就是你想維護很多 vector,譬如裝在另一個
12/04 10:56, 4F

12/04 10:56, , 5F
容器裡,對它們做排序的話,排 vector 的 pointer 會比排
12/04 10:56, 5F

12/04 10:57, , 6F
vector 本體快很多,但其實要達到這種目的並不是只有這招
12/04 10:57, 6F

12/04 14:12, , 7F
謝謝~謝謝指點:)
12/04 14:12, 7F
文章代碼(AID): #1B66WNqP (C_and_CPP)
文章代碼(AID): #1B66WNqP (C_and_CPP)