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

沈阳网站建设技术支持 番茄视频 在线

沈阳网站建设技术支持, 番茄视频 在线,中文软件开发平台,如何做网站拓扑结构图文章目录1 泛型编程2 函数模板2.1 函数模板概念2.2 函数模板格式2.3 函数模板的实例化2.3.1 隐式实例化2.3.1.1 定义2.3.1.2 代码演示2.3.1.3 运行结果2.3.1.4 缺点2.3.2 显式实例化2.3.2.1 格式2.3.2.2 代码演示2.3.2.3 运行结果2.4 模板参数的匹配原则2.4.12.4.22.4.33 类模板… 文章目录1 泛型编程2 函数模板2.1 函数模板概念2.2 函数模板格式2.3 函数模板的实例化2.3.1 隐式实例化2.3.1.1 定义2.3.1.2 代码演示2.3.1.3 运行结果2.3.1.4 缺点2.3.2 显式实例化2.3.2.1 格式2.3.2.2 代码演示2.3.2.3 运行结果2.4 模板参数的匹配原则2.4.12.4.22.4.33 类模板3.1 类模板格式代码演示3.2 类模板实例化1 泛型编程 编写与类型无关的通用代码是代码复用的一种手段。模板是泛型编程的基础。其中模板包括函数模板和类模板。 2 函数模板 2.1 函数模板概念 函数模板代表了一个函数家族该函数模板与类型无关在使用时被参数化根据实参类型产生函数的特定类型版本。 2.2 函数模板格式 typename定义模板参数关键字也可使用class templatetypename T1[,typename T2,typename T3] 返回值类型 函数名(参数列表){}或 templateclass T1[,class T2,class T3] 返回值类型 函数名(参数列表){}2.3 函数模板的实例化 用不同类型的参数使用函数模板时称为函数模板的实例化。模板参数实例化分为隐式实例化和显式实例化。 2.3.1 隐式实例化 2.3.1.1 定义 编译器通过实参的数据类型推演模板参数的实际类型 2.3.1.2 代码演示 // 模板实现两数交换 templateclass T void Swap(T a, T b) {T t a;a b;b t; }int main() {// 隐式实例化int a1 10, a2 20;cout a1 a1 a2 a2 endl;// 此时模板参数为intSwap(a1, a2);cout swap endl;cout a1 a1 a2 a2 endl;coutendl;double a3 10.1, a4 20.1;cout a3 a3 a4 a4 endl;// 此时模板参数为doubleSwap(a3, a4);cout swap endl;cout a3 a3 a4 a4 endl;return 0; }2.3.1.3 运行结果 2.3.1.4 缺点 当两参数数据类型不一致时编译器无法推演出模板的数据类型 可通过类型强转或显式实例化解决。 类型强转Swap(a1,(int)a3); 2.3.2 显式实例化 2.3.2.1 格式 在函数名后的中指定模板参数的实际类型 2.3.2.2 代码演示 // 实现两数相加模板 templateclass T T Add(const T left, const T right) {return left right; } int main(){int c1 10, c2 20;double d1 10.1, d2 20.2;cout Add(c1, c2) endl;cout Add(d1, d2) endl;// 参数类型强转cout Add((double)c1, d2) endl;// 显示实例化// 指定为int型cout Addint(c1, d2) endl;// 指定为double型cout Adddouble(c1, d2) endl;return 0; }2.3.2.3 运行结果 经过显式实例化后intdouble型也可以算出和 2.4 模板参数的匹配原则 2.4.1 一个非模板函数可以和一个同名的函数模板同时存在而且该函数模板还可以被实例化为这个非模板函数。 2.4.2 对于非模板函数和同名函数模板如果其他条件都相同在调动时会优先调用非模板函数而不会从该模板产生出一个实例。如果模板可以产生一个具有更好匹配的函数 那么将选择模板。 2.4.3 模板函数不允许自动类型转换但普通函数可以进行自动类型转换。 3 类模板 3.1 类模板格式 templateclass T class 类模板名 {};代码演示 // 类模板Vector templateclass T class Vector { public:Vector(size_t capacity 10):_pData(new T[capacity]), _size(0), _capacity(capacity) {}~Vector();void PushBack(const T data)void PushBack(const T data)void PopBack()// ...size_t Size() { return _size; }T operator[](size_t pos){assert(pos _size);return _pData[pos];} private:T* _pData;size_t _size;size_t _capacity; };// 注意类模板中函数放在类外进行定义时需要加模板参数列表 template class T VectorT::~Vector() {if (_pData)delete[] _pData;_size _capacity 0; } };3.2 类模板实例化 类模板实例化需要在类模板名字后跟然后将实例化的 类型放在中即可类模板名字不是真正的类而实例化的结果才是真正的类。 // vectorint类型名 Vectorint v1; Vectordouble v2;
http://www.w-s-a.com/news/425334/

相关文章:

  • 个人微信公众号怎么做微网站吗湛江网站制作方案
  • 学校网站改版南京展厅设计装修
  • 手机网站有免费做的吗建设银行网站不能登录
  • 树莓派做影视网站网站建设企业 熊账号
  • 网站iis7.5配置免费网站建设模板下载
  • 生物公司网站建设方案wordpress自定义字段调用
  • 静态网站公用头部如何调用标题wordpress自动采集翻译插件怎么用
  • 网站做单链 好不好网站营销不同阶段的网站分析目标
  • 网线制作颜色顺序兰州网站推广优化
  • 北京沙河教做网站的企业融资以什么为基础
  • 给网站添加百度地图绵阳做绵阳做网站网站
  • 用电脑做服务器制作网站东莞营销网站建设
  • 网站需要怎么做wordpress 重装
  • 做电影网站赚钱的方法世界500强企业排名2023
  • 领卷网站怎么做的西宁设计网站建设
  • 东莞网站建设价位软件开发税率是13%还是6
  • 企业网站建设一条龙如何在网上推广自己
  • 成品网站制作公司企梦网站建设
  • 网站开发微信授权登录ftp 如何 更新 wordpress
  • icp备案和网站不符查询公司的网站备案
  • 万江营销型网站建设泰安网站建设制作电话号码
  • 做网站是用ps还是ai服饰东莞网站建设
  • 只做一页的网站多少钱网站开发就业趋势
  • 陈村网站建设有哪些网站可以做店面设计
  • 查询网站注册信息wordpress 照片墙
  • 成都网站设计服务商室内设计设计师网站推荐
  • 企业建站系统cms百度网址ip
  • wordpress 代码编辑插件下载搜索引擎优化seo课程总结
  • 韩都衣舍网站建设的改进邯郸公众号小程序制作
  • 上海设计网站建设在线视频制作