您可以添加不同的類對象到同一個列表嗎?將不同的對象添加到std :: list
4
A
回答
6
請參閱boost :: any。
你可以使用std :: vector然後用它來添加異構類型。
實施例:
std::vector<boost::any> v;
v.push_back(std::string("hello world"));
v.push_back(42);
0
2
否,如果它們是不相關的對象。如果他們是相關的(即有一個公共基類),那麼你可以在列表中存儲基類指針(使用智能指針而不是原指針)。
2
從技術上講,您可以將void *
指針存儲到列表中的對象,但通常不是一個好主意。最好使用一些「變體」類,如boost::any
或QVariant
(如果您使用的是Qt),它將包裹您的元素。
相關問題
- 1. 如何添加新的對象實例到std :: list沒有'new'
- 2. 比較兩個std :: list列表並獲取不同的對象
- 3. 如何將兩個不同的對象添加到單個對象中
- 4. Linq - 將多個不同的對象添加到列表
- 5. 將不同的對象狀態添加到列表中
- 6. 如何將對象添加到非參數化Java List?
- 7. 如何將記錄從classt類型List添加到Class對象?
- 8. 將Promise的對象添加到對象
- 9. 將對象添加到ArrayList
- 10. 將現有的對象引用添加到不同的實體
- 11. 爲什麼我不能將對象添加到我的List <>中?
- 12. 將不同的對象類型添加到c#4.0集合
- 13. 不能將相同的列對象添加到Xceed DataGrid
- 14. 添加到列表中的不同對象變得相同
- 15. 將JSON對象添加到JSON對象
- 16. 將對象添加到對象陣列
- 17. 對象 - 將對象添加到數組
- 18. Android ksoap2將對象添加到對象
- 19. 將對象添加到對象池
- 20. 如何將對象添加到對象?
- 21. 將對象添加到JList
- 22. 將對象添加到SortedBindingList
- 23. 將對象添加到LRUCache
- 24. 將對象添加到arrayList
- 25. 將對象添加到Jpanel
- 26. 不能將對象添加到NSMutableArray
- 27. 將對象添加到ArrayList失敗。始終拷貝的相同
- 28. std :: list,無法訪問對象
- 29. 使用對象從std :: list中刪除
- 30. 將ArrayList對象添加到不同對象類型的現有ArrayList中
您是指同一班級的不同對象或不同類別的對象? – fredoverflow 2010-07-22 08:59:07
是的,不同類別的對象。 – user35467 2010-07-22 09:00:00