討論串[問題] vector因為capacity改變而產生的segmen …
共 5 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓2(2推 0噓 2→)留言4則,0人參與, 最新作者loveme00835 (高金素箍)時間14年前 (2011/08/17 05:17), 編輯資訊
0
0
2
內容預覽:
你所需要的只是引進一個簡單的類別來代替指標:. http://codepad.org/CissFbXs. PseudoPointer是一個類迭代器的類別, 它負責將索引容器連結起. 來:. std::vector<int> values;. values.push_back( 3 );. valu
(還有1396個字)

推噓1(1推 0噓 2→)留言3則,0人參與, 最新作者littleshan (我要加入劍道社!)時間14年前 (2011/08/16 23:56), 編輯資訊
0
0
0
內容預覽:
就是當 capacity 不夠用的時候. vector 會配置新的空間,把舊的資料 copy 過去. 然後把舊的空間釋放. 想一下當你配置新的空間並且把成員移過去後. 這些成員的位址全部都改變了. 但你之前用 setOS(&(vVec.at(i))) 所加入的. 是舊的位址,它所在的空間已經還給系統
(還有70個字)

推噓0(0推 0噓 2→)留言2則,0人參與, 最新作者Zoxge (Zoxge)時間14年前 (2011/08/16 23:17), 編輯資訊
0
0
0
內容預覽:
啊~的確是ABC才對,抱歉打錯了但我用 -> ,compile時就會有error了. 用 . ,則沒有錯reallocaton是什麼??. 那為什麼我在另外添加元素使capacity改變之前,資料存取都不會有問題呢?異常是指??功能獨立出來是指不要用 繼承 或 多型 嗎??. --. 發信站:

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者littleshan (我要加入劍道社!)時間14年前 (2011/08/16 22:53), 編輯資訊
0
0
0
內容預覽:
^^^^. vVec 中的 element type 是 ABC*. [中略] ^. vVec.at(i) 是 ABC*. 所以這邊應該是 -> 才對?. 另外 setOS 的參數吃的是 ABC*. 但你給他的會是 ABC**同樣的. &(vVec.at(i)) 的型別為 ABC**. 感覺 vVe
(還有107個字)

推噓6(6推 0噓 36→)留言42則,0人參與, 最新作者Zoxge (Zoxge)時間14年前 (2011/08/16 21:12), 編輯資訊
0
0
0
內容預覽:
開發平台(Platform): (Ex: VC++, GCC, Linux, ...). Linux. 問題(Question):. 我的vector是 vector<ABC> vVec;. 其中ABC是個class,其中下面只列出要描述問題的部份. class ABC {. private:. v
(還有1263個字)
首頁
上一頁
1
下一頁
尾頁