想知道是否有可以分支的模板函数,具体取决于类型是否从特定类派生。这大致是我在想什么: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