我有兩個std::list
,它們每個都有一個位置矢量m_Pos
。我是std::list
的新手,我會計算這兩個列表中每個索引之間的距離並將它們存儲在一個數組中。這是我所做的,我不知道它是否是正確的方式兩個std之間的距離::列表
問題是目錄向量有距離不是有序的方式,我想要例如存儲位置之間的distane Acurrent和Aprev,B當前,Bprev,要被存儲在順序在目錄矢量,這樣我可以在它們之間後進行相關,這樣我說DIR [0]是
if(objs.size() == m_prev_objs.size())
{
std::vector<Vec2f> dir;
std::list<Obj>::iterator prevIter = m_prev_objs.begin();
std::list<Obj>::iterator currIter = objs.begin();
// Vec2f dis = currIter->m_Pos - prevIter->m_Pos;
for (std::list<Obj>::iterator currIter = objs.begin(); currIter != objs.end(); ++currIter)
{
dir.push_back(currIter->m_Pos - prevIter->m_Pos);
}
prevIter++;
}
它看起來不錯,除了在,有時打印出中間的那個時髦的循環' 「fdfdfd」'。你想要代碼做什麼,它做什麼和你想要的有什麼不同? –
它看起來像代碼應該做你所描述的(雖然'prevIter!= end()'的檢查是多餘的,因爲你已經檢查過這兩個列表是相同的大小)。它是否編譯,運行並提供預期結果?如果是這樣,問題是什麼?如果不是,究竟出了什麼問題? –
問題是距離不是有序的方向向量,我想要例如存儲位置Acurrent和Aprev,Bcurrent,Bprev之間的distane按順序存儲在dir向量中,這樣我可以稍後關聯在他們之間,所以我說dir [0]是Acurr,Aprev之間的距離等等。 –