在Java中有一個名爲ArrayList的集合。它允許程序員添加類型T的對象,並通過發出一個簡單的方法除去它們,像C++列出使用情況
list.remove(object);
list.add(object);
對於C++我發現,標準矢量僅使用值對象,因此我不看的方式來實現相同的功能。 這種情況是,我想持有對其他地方的對象的引用,爲什麼能夠使用某種組合模式刪除或添加它。什麼我要求的是如何實現這樣的事情在C++:
class Composite {
ArrayList<Composite> children = new ArrayList<>();
public void addChild(Composite child) {
children.add(child);
}
public void removeChild(Composite child) {
children.remove(child)
}
}
class Test{
public static void main() {
Composite a = new Composite();
Composite b = new Composite();
a.addChild(b);
a.removeChild(b);
// from here on a.children is empty.
}
}
我不知道怎麼咬這個東西在C++中。謝謝。
UPDATE:多虧了ResidenBiscuit答案,別人的意見我能弄清楚這個基本的代碼,這是可以在這個引擎收錄網址:http://pastebin.com/h17hh3r4
尋找STL容器,特別是'std :: list'。 –
'std :: vector>'就是你想要的,你可以使用'std :: remove'來移除元素。 –
yngccc