2
我有一個類的指針數組,獲取動態分配在構造函數中。這個類也有一個函數來填充數組。填充功能指針陣列
HolderClass::HolderClass(int number)
{
arrayOfPointers = new ItemClass*[number];
}
HolderClass::addItem(int number, ItemClass item)
{
arrayofPointers[number] = &item;
}
即使這將彙編我的理解在正確的我真的被填充與懸擺指針數組,因爲該項目變量的生命週期只爲的addItem函數的時間?
將指針傳遞到項目中的指針填充arrayOfPointers的正確方法是什麼?這裏的一個複雜性是將會有子類的ItemClass被傳遞給addItem函數,所以我不相信可以使用默認的拷貝構造函數。
編輯:此代碼是爲了一個Arduino,所以我相當有限的什麼可以和不能做。這也意味着我想簡單地爲這個類的用戶保留一些東西(因爲有很多Arduino新手)並且不要求它們傳遞一個指向addItem函數的指針(這將要求他們管理傳遞的生命在ItemClass對象中)。
那爲什麼不使用'std :: vector'呢? – Albjenow
默認情況下,矢量在Arduino上也不可用。您可以通過第三方庫訪問它,但如果我不必保持代碼大小不變,我寧願不走這條路線。 –
更貼近OP的設計。 –