我有一個指向對象的指針列表。我想要做的是讀取列表並將每個對象存儲在該對象類型的動態數組中。所以我這樣做:使用動態數組賦值運算符
int size = List.size(); // find how many objects in the list
ClassA* object = new ClassA[size]; // create a dynamic array
int counter = 0;
p = List.begin(); // iterator = begining of the list
while(p != List.end())
{
object[counter] = (*p)->operator=(*(*p));
// called like this as this function is in a separate class
p++;
counter++;
}
這似乎是我想要的東西,這意味着我需要賦值運算符,但我有點困惑,要放什麼東西在它和我得到堆棧溢出錯誤,這裏是什麼我想我需要做的:
ClassA ClassA::operator =(const ClassA& source)
{
ClassA* newObject;
newObject = new ClassA;
newObject = source;
return newObject;
}
這是BS的負載我沒有這一點,但在我的頭上,這是我想做的事情,但我不完全瞭解我是如何實現它。
如果任何人都可以幫助或建議更好的方式來實現我所需要的東西,將不勝感激。
這樣做的原因是存儲在這個列表中的對象通常是遍歷每一幀並複製到一個臨時對象中。但是在程序運行過程中,列表並沒有被改變,這意味着我不需要在開始時複製每一幀。我需要一個動態數組,因爲我不知道有多少對象將被存儲在列表中。
你的列表是否包含指針或實際對象? (即'列表'或'列表')? –
對不起,應該做出更清晰的大衛布朗它包含一個指針列表 – RobBain85