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

甘肃建设厅网站二级建造师报名时间wordpress的md

甘肃建设厅网站二级建造师报名时间,wordpress的md,企业网站建设要多久,wordpress中英文网站交换两个数 任何一个类型交换还要重新写一个函数 如何解决#xff1f; 模板-写跟类型无关的函数 1.泛型编程 泛型编程#xff1a;编写与类型无关的通用代码#xff0c;是代码复用的一种手段。模板是泛型编程的基础。 如何写一个函数适用所有类型的交换? #include 模板-写跟类型无关的函数 1.泛型编程 泛型编程编写与类型无关的通用代码是代码复用的一种手段。模板是泛型编程的基础。 如何写一个函数适用所有类型的交换? #include iostream using namespace std;templateclass T //templatetypename T //模板参数 - 类型 void Swap(T x1, T x2) {T x x1;x1 x2;x2 x; }//下面调用的是否是同一个函数 //不是 //这里我们不能调用函数模板 调用的是函数模板 //实例化生成的对应类型的函数 int main() {int a 0, b 1;Swap(a, b);double c 1.11, d 2.22;Swap(c, d);char e a, f b;Swap(e, f);cout a b endl c d endl e f endl;return 0; }2.函数模板 1°概念 函数模板代表了一个函数家族该函数模板与类型无关在使用时被参数化根据实参类型产生函数的特定类型版本。 2°格式 templatetypename T1, typename T2,......,typename Tn 返回值类型 函数名(参数列表){} 3°原理 在编译器编译阶段对于模板函数的使用编译器需要根据传入的实参类型来推演生成对应类型的函数以供调用。 比如当用double类型使用函数模板时编译器通过对实参类型的推演将T确定为double类型然后产生一份专门处理double类型的代码对于字符类型也是如此。 4°实例化 写了模板后调用 - 实例化 int x1,x2; swap(x1,x2); void swap(int a,int b) double x3,x4; swap(x3,x4); void swap(double a,double b) stackint st1; class stack{int* _a;...} stackdouble st2; class stack{double* _a;...}用不同类型的参数使用函数模板时称为函数模板的实例化。模板参数实例化分为隐式实例化和显式实例化。 隐式实例化显式实例化 templateclass T T Add(const T left, const T right) {return left right; }int main() {int a1 10, a2 20;double d1 10.0, d2 20.0;// 隐式实例化 (T的类型是编译器自己推导的)Add(a1, a2);Add(d1, d2);//T要么全int 要么全double//Add(a1, d1);//解决//1.强转:Add(a1, (int)d1);//2.显示实例化(指定T的类型)//类模板也是这样Addint(a1, d1);return 0; }显示实例化:类似于Add 指定了类型 5°模板的匹配 一个非模板函数可以和一个同名的函数模板同时存在而且该函数模板还可以被实例化为这个非模板函数 //专门处理int的加法函数 外卖 int Add(int left, int right) {return left right; }// 通用模板 自己做 templateclass T T Add(const T left, const T right) {return left right; }void main() {Add(1, 2); //与非模板函数匹配 编译器不需要特化 大家都会优先选择点外卖Addint(1, 2); //调用编译器特化的Add版本 指定了自己做 }对于非模板函数和同名函数模板如果其他条件都相同在调动时会优先调用非模板函数而不会从该模板产生出一个实例。如果模板可以产生一个具有更好匹配的函数 那么将选择模板. //专门处理int的加法函数 int Add(int left, int right) {return left right; } // 通用加法函数 templateclass T1, class T2 T1 Add(T1 left, T2 right) {return left right; } void Test() {Add(1, 2); // 与非函数模板类型完全匹配不需要函数模板实例化Add(1, 2.0); // 模板函数可以生成更加匹配的版本编译器根据实参生成更加匹配的Add函 数 }模板函数不允许自动类型转换但普通函数可以进行自动类型转换 3.类模板 #include iostream #include assert.h using namespace std;templateclass T class vector // 动态增长的数组 { public:vector():_a(nullptr),_size(0),_capacity(0){}~vector(){delete[] _a;_a nullptr;_size _capacity 0;}//类里面声明 类外面定义void push_back(const T x);//可以引用传 减少拷贝void pop_back();//[]重载 直接拿到下标为i的元素 调用的时候就和遍历数组一样T operator[](size_t i){assert(i _size);return _a[i];}//遍历数组size_t size(){return _size;} private:T* _a;size_t _size;size_t _capacity; };//类外面定义写出类型vectorT:: //与类分离了 再写一次模板 templateclass T void vectorT::push_back(const T x) {//如果空间不够 需要进行增容if (_size _capacity){size_t newcapacity _capacity 0 ? 2 : _capacity * 2;T* tmp new T[newcapacity];if (_a){//拷贝memcpy(tmp, _a, sizeof(T) * _size);//如果本身不为空 销毁原来空间delete[] _a;}//指向新的扩容空间_a tmp;_capacity newcapacity;}//放元素_a[_size] x;//调整_size; }templateclass T void vectorT::pop_back() {assert(_size 0);--_size; }int main() {vectorint v;v.push_back(1);v.push_back(2);v.push_back(3);v.push_back(4);v.pop_back();for (size_t i 0; i v.size(); i){//[]写 v.operator[](i);//如果传值返回 返回值给到v[i] 会拷贝临时变量 具有常性 不可改//而且改变的是临时变量 不是原来的值//传引用返回可以解决问题 返回的是引用别名//引用传参:1.修改传递的实参 比如swap 2.减少拷贝//引用传返回值:1.修改返回对象如operator[] 2.减少拷贝v[i] * 2;}for (size_t i 0; i v.size(); i){//[]读cout v[i] ;}cout endl;return 0; }实例化: Vector s1; Vector s2; 【C】6.模板初阶 完
http://www.hkea.cn/news/14483775/

相关文章:

  • 度假村网站模板新增病例最新消息
  • 湘潭网站建设 搜搜磐石网络源码下载网站cms
  • 企业大型网站开发建站教程详解网站模板在线预览
  • 免费网站建设信息网站建设设计猫和老鼠
  • 网站建设公司那记号佛山专业英文网站建设
  • 成都教育行业网站建设电商购物平台
  • 阿里巴巴建设网站网站开发哪种语言更安全
  • 网站建设实训教程自己搭建局域网云桌面终端
  • 免费网站建设哪家好广东民航机场建设有限公司网站
  • 河南网站推广优化多少钱电商平台是什么
  • seo短视频网页入口引流网站推荐建设部办公厅网站
  • 广告公司可以做网站吗网站建设的公司好做吗
  • python 做 网站网站建设费用入什么科目
  • dede后台网站地图怎么做设计规范网站
  • 大连网站开发公司电话上线了怎么做网站
  • php网站建设心得体会域名注册用个人还是公司
  • 找别人做网站要注意什么软件黄页推广引流网站
  • 餐饮网站做的比较好的是哪个建个简单的网站
  • 中国建设银行网站外汇网站开发前后台整个流程
  • 美术馆网站建设方案改变网站字体
  • 网站建设结单 优帮云专业的做pc端网站
  • 高校网站建设 安全教育教务管理系统登录入口
  • 佛山网站哪家最专业服装企业网站内容规划
  • 上海商贸公司企业查询网站排名优化平台
  • 郑州豆芽网站建设珠海特价做网站
  • 网站服务器防火墙设置网站编辑的工作职能有哪些
  • 哪些网站可以做平面设计挣钱自己怎样做网站显示危险
  • 宣传 网站建设方案wordpress文章加密
  • 景区网站如何建设什么是管理
  • 广州在线网站制作最全的百度网盘搜索引擎