的通用集合我是C++的新手,但不幸的是我不能停止在C#(我的前語言)中思考。 我讀過一些書籍,論壇和C++參考網站,但是我找不到我的問題的答案,所以我想我不妨在放棄和寫一些難看的東西之前嘗試在這裏。C++正確的方式返回類型爲
好的,我們可以開始。 我有一個抽象方法類succesors函數我希望它返回指針集合狀態。我不想強制執行者到一個特定的容器;我寧願讓他們選擇(矢量,列表等)。
所以它看起來像這樣:
class Problem
{
public:
virtual list<const State*>::iterator succesorsFunction(const State &state, list<const State*>::iterator result) const = 0;
};
這裏的問題是明確使用名單。你如何在C++中做到這一點?
我想過使用模板,但後來我遇到了兩個問題: 1)好像你不能用抽象的方式做到這一點(或我錯了) 2)我如何告訴模板應該包含指針?國家?
Boost.Range的類型擦除範圍可能有助於在這裏。 – Xeo 2012-02-25 01:37:12
你可以擴展這個功能,它是虛擬的應該實現?可能有其他方法。 – 2012-02-25 01:42:28
所以你想返回類似於'IEnumerable'的東西嗎? –
svick
2012-02-25 01:53:17