我想要做這樣的事情,但我不確定是否有可能。我無法在Google上找到任何信息。如果不知道模板類型,是否可以指向模板類?
template <typename T>
class Container {
public:
T *ptr;
};
class Other {
private:
Container *container_ref;
}
感謝您的幫助。
我想要做這樣的事情,但我不確定是否有可能。我無法在Google上找到任何信息。如果不知道模板類型,是否可以指向模板類?
template <typename T>
class Container {
public:
T *ptr;
};
class Other {
private:
Container *container_ref;
}
感謝您的幫助。
這不是,但如果你負責Container
那麼你可以使它從非模板化的基類繼承,並保持一個指針。
而實際上'shared_ptr'的實現是爲了跟蹤你分配的東西的類型,以便稍後可以進行非多態刪除。 –
不是。模板不是類,它是如何構建類的說明。沒有模板參數(無論是顯式的還是暗示的)它都不完整。
你可以看看Boost::any尋找解決問題的辦法。
有一個原因,人們堅持把它稱爲類*模板*而不是模板*類* :)它確實是一個模板,而不是一個類! –
這聽起來像你真正想要的是運行時多態,而不是有時稱爲編譯時多態的模板。 –
當然!將「其他」設爲模板。 –