如何探讨C++模板限制方式
这期内容当中小编将会给大家带来有关如何探讨C++模板限制方式,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
成都创新互联公司主要从事网站制作、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务黎川,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
C++编程语言中的模板应用是一个非常重要的操作技巧。它的应用在很大程度上提高了编程人员程序开发效率。
1、浮点数不能作为 非类型模板参数 如:template
2、自定义类不能作为模板参数,这些自定义类也是 非类型模板参数。
// 6-14-2009 #includeusing namespace std; // #define FLOAT // #define TEMPLATE_OBJECT #define COMMON_OBJECT #ifdef FLOAT template class TT; #endif #ifdef TEMPLATE_OBJECT template < class T > class TM {}; template < TM c > class TT; #endif #ifdef COMMON_OBJECT class TN{}; template < TN c > class TT; #endif
C++模板限制中还有一个,而且相当重要:
模板类或模板函数的声明与定义必须位于同一个文件中!除非新一代的编译器支持关键字export.
如果编译器不支持export关键字,但我们又想把声明与定义分开写,那该如何操作呢?方法如下:
把模板声明写在.h中,模板定义写在.cpp中,需要注意的是,我们并不像一般的文件包含那样,在.cpp中包含.h,而是在main.cpp中,把这两个东东包含进来如:
// test.h templateclass Test { public: void print(); }; // test.cpp template void Test ::print() { cout << "Successfully!" << endl; } // main.cpp #include using namespace std; #include "test.h" #include "test.cpp" int main() { Test t; t.print(); return 0; }
上述就是小编为大家分享的如何探讨C++模板限制方式了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。
当前文章:如何探讨C++模板限制方式
URL地址:http://myzitong.com/article/goieog.html