想知道是否有可以分支的模板函數,具體取決於類型是否從特定類派生。這大致是我在想什麼:C++編譯時類型檢查
class IEditable {};
class EditableThing : public IEditable {};
class NonEditableThing {};
template<typename T>
RegisterEditable(string name) {
// If T derives from IEditable, add to a list; otherwise do nothing - possible?
}
int main() {
RegisterEditable<EditableThing>("EditableThing"); // should add to a list
RegisterEditable<NonEditableThing>("NonEditableThing"); // should do nothing
}
如果有人有任何想法,讓我知道! :)
編輯:我要補充,我不想實例/構造給定的對象只是爲了檢查其類型。
http://www.boost.org/doc/libs/1_52_0/libs/ type_traits/doc/html/boost_typetraits/reference/is_base_of.html –
有趣 - 將檢查出來,聽起來很有希望。 – QuadrupleA