看板 C_and_CPP 關於我們 聯絡資訊
不好意思...因為最近在看動態記憶體的部份 結果出現一個問題 可能是觀念上...但我不是很懂他的用法 問題是 string s 跟 string *s = new string vector<int> v 跟 vector<int> *v = new vector<int> 概念上是一樣的嗎? 如果是陣列我可以理解動態配置為了像系統要自由空間 但是vector跟string這種沒有固定限制的物件 配置自由空間的意義何在呢? 能否請前輩指點一下...謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.231.67.43
VictorTom:佔用記憶體空間的生命週期不同吧小弟我猜....@_@" 12/04 09:55
tinlans:STL 容器用 new 沒啥太大意義,因為一來它又不需要多型操 12/04 10:55
tinlans:作,二來會讓 v[i] 變得很麻煩要用 (*v)[i],唯一可能需要 12/04 10:55
tinlans:這樣搞的場合就是你想維護很多 vector,譬如裝在另一個 12/04 10:56
tinlans:容器裡,對它們做排序的話,排 vector 的 pointer 會比排 12/04 10:56
tinlans:vector 本體快很多,但其實要達到這種目的並不是只有這招 12/04 10:57
snoopy0907:謝謝~謝謝指點:) 12/04 14:12