[問題] 想請問關於c++ vector的push_back問題
想請問版上的高手 我在使用vector時
使用大量的push_back 但在網路上得知使用太多次的push_back
會自動往後預留不必要的空間
也就是說push_back使用10萬次 實際上佔了13萬多次的空間
因為現在的問題就是這些自動預留的空間讓我的記憶體爆掉
且search的時候還要掃過這些空白的位子浪費了時間
想請問大家有沒有可以解決的辦法?
因為我沒辦法預先知道vector的size 所以也沒辦法使用resize()
而且我測過先resize後再push_back反而增加數量
也就是說如果有一個vector<int> a a.resize(10) 再a.push_back(1)
那麼a.size()會變成11
因為我真的要使用非常多次的push_back 但產生的預留空間站掉太多空間了
麻煩大家幫我解答 謝謝大家!!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.47.204.250
→
05/28 14:25, , 1F
05/28 14:25, 1F
→
05/28 14:27, , 2F
05/28 14:27, 2F
→
05/28 14:46, , 3F
05/28 14:46, 3F
推
05/28 14:59, , 4F
05/28 14:59, 4F
→
05/28 14:59, , 5F
05/28 14:59, 5F
→
05/28 15:00, , 6F
05/28 15:00, 6F
→
05/28 15:01, , 7F
05/28 15:01, 7F
→
05/28 15:02, , 8F
05/28 15:02, 8F
→
05/28 15:03, , 9F
05/28 15:03, 9F
→
05/28 15:06, , 10F
05/28 15:06, 10F
推
05/29 19:48, , 11F
05/29 19:48, 11F
→
05/29 19:49, , 12F
05/29 19:49, 12F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章