還是關於vector

2021-06-27 14:23:21 字數 822 閱讀 9755

今天又拿起那本《c/c++軟體工程師就業求職手冊》來看,翻到了第346頁,面試例題4,

typedef vector intarray;

intarray marray;

marray.push_back(1);

marray.push_back(2);

marray.push_back(2);

marray.push_back(3);

for(intarray::iterator it = marray.begin();it!= marray.end();++it)

}顯然這個題目的意圖是刪除vector裡所有值等於2的元素,裡面有兩個錯誤,第乙個錯誤當然是vector沒有型別引數,但是關於第二個錯誤,

書上這麼解釋的,for迴圈裡這裡只能刪除第乙個2的元素,而不能刪除所有的2,因為每次呼叫「marray.erase(it)」後,被刪除元素之後的內容會自動前移,導致迭代漏項,應在刪除一項後使--it;使之從已經前移的下乙個元素起繼續遍歷。書上給出正解如下

typedef vectorintarray;

intarray marray;

marray.push_back(1);

marray.push_back(2);

marray.push_back(2);

marray.push_back(3);

for(intarray::iterator it = marray.begin();it!= marray.end();++it)

}for(intarray::iterator it = marray.begin();it!= marray.end();++it)

還是關於「委託」

以下是從網上找來的資料 1.委託概述 委託是c 中新加入的乙個型別,可以把它想作乙個和class類似的一種型別,和使用類相似,使用乙個委託時,需要兩個步驟,首先你要定義乙個委託,就像是定義乙個類一樣 然後,你可以建立乙個或多個該委託的例項。定義乙個委託的語法是這樣的 public protected...

還是關於dialog

通過下面的方式獲得的dialog是無法再去設定dialog的寬高的,因為寬高已經在主題被限定了,要想全屏必須在主題中寫明以下 finaldialog dialog newdialog this,r.style.dialog fullscreen 面給出實現dialog實現全屏的兩種方式 1 實現。這...

還是關於xwiki, XSS

前面對這個wiki已經寫了兩次了,第一回,的xwiki 第二回,慎防國際化中的language引數xss注入 這是第3回,還是接第二回寫 language t5x 20onreadystatechange alert document.cookie onreadystatechange 是針對ie核...