我正在寫一小段代碼,我必須將值插入到C++ STL向量中,取決於向量元素中的值。我正在使用insert()
函數來完成此操作。我意識到,當我想在矢量的末尾添加一個新元素時,我可以簡單地使用push_back()
。但爲了保持我的代碼看起來不錯,我想專門使用insert()
,它將需要的插入點和要插入的值之後指向元素的迭代器作爲輸入。如果作爲參數傳入的迭代器的值是v.end()
,其中v
是我的向量,這是否與push_back()
一樣?使用C++ vector :: insert()添加到向量的末尾
非常感謝!
如果您發現自己在矢量中插入了很多內容,則可能是使用了錯誤的數據結構。考慮(例如)使用雙端隊列。當然,如果矢量很小,就沒有問題。 – 2011-05-11 07:59:01
@尼克:是的。一個簡單的實驗可能會告訴你。 – 2011-05-11 07:59:13
@Space我不明白一個實驗如何告訴他。如果無效,他會得到UB,在這種情況下,他的計劃似乎已經出現了。 – 2011-05-11 08:02:14