c – 有没有办法使用显式实例化按类型设置成员变量
发布时间:2020-12-16 09:49:28 所属栏目:百科 来源:网络整理
导读:我想要做的简化示例: 如果我有课: template typename Tclass Foo{public: Foo() : numericType(false){};private: bool numericType;} 如果T是数字类型,我希望它将awesomeType设置为true,否则为false.我可以使用显式实例化吗?我希望将numericType设置为tr
我想要做的简化示例:
如果我有课: template <typename T> class Foo { public: Foo() : numericType(false){}; private: bool numericType; } 如果T是数字类型,我希望它将awesomeType设置为true,否则为false.我可以使用显式实例化吗?我希望将numericType设置为true的每个类型都显式实例化并将其设置为true,而所有其他类型都未显式实例化,因此保持为false? 如果没有,你会怎么做? 旁注:感谢我的intel编译器,我无法使用C 11. 解决方法
既然你不能使用C 11,那么你可以按照其他人的建议,但使用Boost而不是STL:
http://www.boost.org/doc/libs/1_55_0/libs/type_traits/doc/html/index.html 虽然这里没有任何魔法.只是模板专业化.即使它很麻烦,您也可以自己实现它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |