设为首页 加入收藏

TOP

CPPTemplates之template关键字的用法技巧
2014-11-22 16:00:26 】 浏览:4836
Tags:CPPTemplates template 关键字 用法 技巧

  说明:


  限定符包括:::,.,->


  一、当类型名称具有以下性质是,就应该在该名称前面添加template前缀:


  1.名称出现在一个模板中


  2.名称是受限的


  3.名称不是用于指定基类继承的列表中,也不是位于引入构造函数的成员初始化列表中


  4.名称依赖于模板


  而且,只有当前面三个条件同时满足时才能使用前缀template,例如:


  template


  struct S:X :Base{


  S():X ::Base(typename X ::Base(0)){}


  X f(){//不能使用template


  template X ::C *p;//指针p的声明


  X ::D *q;//乘积


  }


  typename X ::C * s;//可有可无,因为不符合第四条规定


  };


  struct U{


  X ::C * pc;//不能使用template,因为它并不是在模板中使用,U不是模板


  };


  二、如果一个模板名称是依赖型名称,需要在该名称前插入template关键字


  例如:


  template


  class Weird{


  public:


  void casel(template Shell ::template In ::template Deep * p){


  }


  }


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇制作风格独特的按钮―用VC6扩展C.. 下一篇C++模板类继承中诡异的作用域问题

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目