1
我期待在此,其中m_Rows是CAtlList:CAtlList :: RemoveAt是否使現有的位置失效?
void CData::RemoveAll()
{
size_t cItems = m_Rows.GetCount();
POSITION Pos = m_Rows.GetHeadPosition();
while(Pos != 0)
{
CItem* pItem = m_Rows.GetAt(Pos);
if (pItem != 0)
delete pItem;
POSITION RemoveablePos = Pos;
pItem = m_Rows.GetNext(Pos);
m_Rows.RemoveAt(RemoveablePos);
}
}
,我想知道,如果有可能的是,RemoveAt移除呼叫可能會使名次?
感謝發現。我不確定文檔中的聲明實際上是否回答我的問題。我的意思是,當執行RemoveAt時,可能會通過操作將其他元素移動到內存中。我猜其他元素不會被移動,但是要確保這段代碼是正確的。 – 2009-12-04 15:52:02
這是一個有效的觀點。我不覺得文件也非常精確。我認爲代碼片段解決了它:-) – Sebastian 2009-12-04 16:25:02