学做室内效果图的网站,个人网站申请空间,一般建设一个网站多少钱,秦皇岛做网站外包目录
模板参数与非类型模板参数
模板参数
类型模板参数——传递类型
非类型模板参数——传递数量
C11希望array替代静态数组#xff0c;但实际上vector包揽了一切
模板总结
优点#xff1a;
缺点#xff1a;
模板特化#xff1a;针对某些类型进行特殊化处理
特化… 目录
模板参数与非类型模板参数
模板参数
类型模板参数——传递类型
非类型模板参数——传递数量
C11希望array替代静态数组但实际上vector包揽了一切
模板总结
优点
缺点
模板特化针对某些类型进行特殊化处理
特化 模板参数与非类型模板参数 模板参数 类型模板参数——传递类型 传递一些参数intdouble等变量类型到类的模板这些参数的类型信息被选择性摘取用于构建一个类这些参数不占用空间 非类型模板参数——传递数量 当我们构建模板时想要设置一些静态空间这时候我们可以传递非类型模板参数传递一些参数100等整形变量类型它被专门用来定义静态数据类型开静态的空间. C20允许各种变量类型了C.98只允许整形到类的模板这些参数常用明确于成员变量开空间的规格这些参数参与的开空间占用空间这里的“非类型”是指这些“模板参数”他们不参与类型性质的构建他们只是提供一个数量规格“非类型模板参数”得是常量否则编译不通过 知识点 array数组本质是一个函数的调用;C语言的数组本质是指针的解引用数组越界是随机抽查可能检查不出来;设计之初C11希望array替代静态数组但实际上vector包揽了一切; 模板总结 优点 1.复用代码节约资源加速迭代开发C标准模板库STL因此产生2.增强代码灵活性 缺点 1.模板会导致代码膨胀问题也会导致编译时间变长2.出现模板编译错误时错误信息非常混乱不易定位错误出错的逻辑会因为逻辑的嵌套而难以发觉 经验出错了看第一个错误一般大量错误都是由第一个错误或者逻辑前面没有报错的代码错误了。 模板特化针对某些类型进行特殊化处理 在有通用模板的前提下针对特殊的模板参数组合我们单独去为其建立一个类模板针对特定的模板参数在通用模板运行时功能失效的情况我们可以通过模板特化构建一个特定的模板去处理他 特化 全特化特化全部参数偏特化半特化特化部分参数特化也可以使用模板templateclass T