C++编程语言中的模板应用是一个非常重要的操作技巧。它的应用在很大程度上提高了编程人员程序开发效率。在这篇文章中,我们将会重点介绍一下有关C++模板限制的相关应用,方便大家理解。

1、浮点数不能作为 非类型模板参数 如:template 
2、自定义类不能作为模板参数,这些自定义类也是 非类型模板参数。
- // 6-14-2009
 - #include
 - using 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
 - template
 - class 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++模板限制实际应用方式探讨
                
                当前链接:http://www.csdahua.cn/qtweb/news16/431166.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网