当前位置: 首页 > wzjs >正文

网站建设的内容规划代刷推广网站

网站建设的内容规划,代刷推广网站,浪琴女士手表网站,易语言编程可以做网站么关于类模板&#xff0c;有几点值得说明&#xff1a; 1. 类模板必须显式实例化&#xff0c; 2. 类不能重载 类模板的特化 类模板实现特化有几种方式&#xff1a;全特化和半特化(或称偏特化) 假设现在已经实现了一个如下形式的类 template<class T1, class T2> class Da…

关于类模板,有几点值得说明:

        1. 类模板必须显式实例化,

        2. 类不能重载

类模板的特化

        类模板实现特化有几种方式:全特化和半特化(或称偏特化)

假设现在已经实现了一个如下形式的类

template<class T1, class T2>
class Data{
public:Data(){cout << "Data<T1, T2>" << endl;}
private:T1 _d1;T2 _d2;
};template<class T1, class T2>
class Data<T1&, T2*>{
public:Data(){cout << "Data<T1&, T2*>" << endl;}
};

全特化

        全特化将会指定所有模板参数,在调用时如果显示实例化的参数列表的类型和全特化后类模板的类型可以一一对应,那么创建的类将是这个唯一的特化后的类对象

template<>
class Data<int, char>{
public:Data(){cout << "Data<int, char>" << endl;}
private:int _d1;char _d2;
};

偏特化

偏特化有两种形式:指定部分模板参数类型 和 将部分或全部参数指定为指针或者引用类型

        1. 指定部分模板参数类型

template<class T1>
class Data<T1, char>{
public:Data(){cout << "Data<T1, char>" << endl;}
};

        2. 将部分或全部参数指定为指针或者引用类型

template<class T1, class T2>
class Data<T1&, T2*>{
public:Data(){cout << "Data<T1&, T2*>" << endl;}
};

注意:模板的分析一定要配合调用处的情况,

        case1: 调用处的参数不是 引用 或者 指针类型

                    如果参数类型符合特化时声称的参数类型,那么就会调用这个模板

        case2: 调用处的参数是 引用 或者 指针类型

                    如果参数类型符合特化时生成时的类型,而且加上了这个修饰,就会调用这个模板

进一步的说明:

        class Data<T1&, T2*>  中 T1& 并不是想要在类中使用T1这个对象时再加一个引用,而只是想要将template<class T1, class T2>中的 这两个类型进行限制,比如传入的是 <Date&, Date*>类型的参数,只需要那么就会调用2. 将部分或全部参数指定为指针或者引用类型中的特化,而且不会对这个类型再加一层引用! 

类模板的非类型模板参数

类模板在定义的时候,可以传入一个具体类型的模板参数,并且可以选择固定这个模板参数的初始值,C++中限制了这种可以固定参数初始值的类型只能为整型,指针和引用,这种模板参数称为非类型模板参数,

下面只以整型作为非类型模板参数为例作为说明

template<class T, size_t N = 10>
class array{
public:T& operator[](size_t index){assert(index < N);return _array[index];}const T& operator[](size_t index)const{return _array[index];}size_t size()const{return _size;}bool empty()const{return 0 == _size;}private:T _array[N];size_t _size;
};

对于非类型模板参数的说明,

对于上面的代码,如果在主函数中调用如下两句话

array<int> a1;

array<int, 1000> a2; 

 编译阶段将会对这两句话分别推导出两个不同的类,然后实例化出不同类型的对象

更多拓展阅读,请见我的C++面试之模板博客  和 模板的通用知识点(挖坑!!!!!)


文章转载自:

http://P5GAyHgh.Ldgqh.cn
http://k5ExAkUH.Ldgqh.cn
http://K6auwjYD.Ldgqh.cn
http://oYPIWo4B.Ldgqh.cn
http://IAuyNGsZ.Ldgqh.cn
http://lRI2vnFi.Ldgqh.cn
http://1ZRB2Ao2.Ldgqh.cn
http://Q0M7ARKe.Ldgqh.cn
http://W4RA6dbk.Ldgqh.cn
http://1uUn3yYk.Ldgqh.cn
http://Flqq6dWi.Ldgqh.cn
http://y1i8T2w3.Ldgqh.cn
http://Vy4pAVsM.Ldgqh.cn
http://oEpgehGD.Ldgqh.cn
http://Eg6ISvex.Ldgqh.cn
http://GYIBKZGR.Ldgqh.cn
http://tH72mp5s.Ldgqh.cn
http://fXXybqYi.Ldgqh.cn
http://litW6C7V.Ldgqh.cn
http://9BJ69yRc.Ldgqh.cn
http://pRGr0aaf.Ldgqh.cn
http://NvFuZfUj.Ldgqh.cn
http://sqvqO8En.Ldgqh.cn
http://PlgagixP.Ldgqh.cn
http://Qod1jmHJ.Ldgqh.cn
http://Cvdt48in.Ldgqh.cn
http://MjSHsAuT.Ldgqh.cn
http://l7LC0g8K.Ldgqh.cn
http://D9cgLU6C.Ldgqh.cn
http://QIAQAfHQ.Ldgqh.cn
http://www.dtcms.com/wzjs/679451.html

相关文章:

  • 网站建设 怎么跑业务东莞保安公司招聘电话
  • 江苏苏州网站建设自己做的网站怎么上传文章
  • 鲜花电子商务网站建设规划书网站运营与推广方案
  • 内网网站建设汇报rap做词网站
  • 视频网站开发需要什么插件东莞网站建设曼哈顿信科
  • 区块链做网站都有哪些内容呢安徽省建设安全协会网站
  • 稳定网站服务器租用网站建设公司 项目经理 的工作指责
  • 建站需要哪些东西网站建设考试知识点
  • 更新网站的图片加不上水印天津工程建设信息网站
  • 百度营销-网站分析培训网站顶部伸缩广告
  • 网站logo设计教程团购网站怎么推广
  • 宗亲网站建设建议wordpress域名变了迁移
  • 网站设计用什么字体好wordpress add_action
  • 福建省网站备案注销怎样注册自己的网站
  • 阀门专业网站建设网站模板 代码免费
  • 网站建设哈尔滨app开发2西安网站制作开发公司哪家好
  • 做网站卖什么软件个人网站模板打包下载
  • 帮人做网站收多少钱seo推广代理
  • 移动端网站怎么做取消wordpress 注册邮箱
  • 网站开发维护岗位职责科技有限公司最低注册资金
  • 商城网站建设报网站开发技术文档格式
  • 禁忌网站淘宝官网首页登录入口电脑
  • 网站制作网址编程scratch
  • 怎么做网站教程 用的工具从零开始建网站
  • 官网和网站的区别wordpress收费查看
  • 做网站需要些什么公司官网怎样制作
  • 国外网站建设方案智慧团建网站密码
  • 房地产电商网站建设网站开发与管理期末考试
  • 电商网站开发过程是什么社交网站开发公司
  • 腾云建站官网晟阳建设官方网站