我對C++早有新意,並且已經閱讀了一些關於在向量中存儲指向對象的指針或對象本身的主題。 我決定將對象存儲在向量中,因爲我不會在運行時push_back許多對象,只會創建一次向量並像這樣離開。指向元素的向量
我現在的問題是,我有另一個對象獲取一個向量作爲參數,並搜索傳遞的向量中的某個對象。如果它找到這個對象,它會存儲一個指向它的指針,如果沒有,則該變量被設置爲NULL
。
儘管我沒有push_back
任何項目,指針似乎指向其他功能中的錯誤位置。 在向量中搜索元素的對象具有應該返回指針的公共函數。如果我在每個函數調用中搜索對象都會非常慢,所以這不應該是一個選項。 有沒有其他的解決方案,或者我必須切換到指針向量?
一些代碼片斷:
構造的對象的其搜索矢量:
MySearch::MySearch(QVector<Obj> objVector)
:objVector(objVector) {
found = NULL
foreach(Obj o, this->objVector) {
if(..found..) {
found = &o;
break;
}
}
}
消氣功能:
Obj* MySearch::getObject() {
return found;
}
你的代碼似乎試圖記住你正在尋找的東西,而不是向量中的任何東西。你真的*試圖做什麼? – doctorlove
這是什麼語言? – juanchopanza
@doctorlove你是什麼意思?是的,我想記住指向找到的對象的指針。 – schlimpf