刪除一個向量元素第四元素需要以下代碼:爲什麼刪除元素時需要vector.begin()?
vector<int> v;
....
....
v.erase(v.begin()+3); // Erase v[3], i.e. the 4th element
我不知道爲什麼我們需要v.begin()部分。 這將是更好的只是寫:
v.erase(3); // Erase v[3], i.e. the 4th element
的開始()是向量中的一員,因此擦除方法也可以同樣處理的那部分爲我們,讓我們的代碼會更容易閱讀,容易理解。
有可能是一個很好的理由,我想知道。 有人可以解釋或鏈接一個解釋? 謝謝。
'std :: vector v = {2,3,1}; v.erase(3);' - 可讀?將它與'std :: set
@Poriferous +3給出第二個元素?你先生不能算。 – Borgleader
@Kerrek SB:我不明白你的意思 - 對不起,但爲什麼是'的std ::向量 V = {2,3,1}; v.erase(v.begin()+ 3);'更具可讀性?在這兩種情況下,它的麻煩.. –
4386427