如何探讨C++模板限制方式

这期内容当中小编将会给大家带来有关如何探讨C++模板限制方式,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

成都创新互联公司主要从事网站制作、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务黎川,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

C++编程语言中的模板应用是一个非常重要的操作技巧。它的应用在很大程度上提高了编程人员程序开发效率。

1、浮点数不能作为 非类型模板参数 如:template class TT;

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://scyanting.com/article/goieog.html