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

wordpress主题模仿seo管理系统培训

wordpress主题模仿,seo管理系统培训,小说网站架构,重庆市在建项目查询目录​​​​​​​ 一.泛型编程 二.模板 函数模板 类模板 一.泛型编程 在C中,支持函数重载,如果我们通过函数重载实现通用的交换函数,写法如下: void Swap(int& left, int& right) {int temp left;left right;ri…

目录​​​​​​​

一.泛型编程

二.模板

函数模板

类模板


一.泛型编程

在C++中,支持函数重载,如果我们通过函数重载实现通用的交换函数,写法如下:

void Swap(int& left, int& right)
{int temp = left;left = right;right = temp;
}
void Swap(double& left, double& right)
{double temp = left;left = right;right = temp;
}
void Swap(char& left, char& right)
{char temp = left;left = right;right = temp;
}
......

非常冗余,于是我们引入泛型编程的概念:通过编写与类型无关的代码,实现代码的复用。而在C++中,模板就是泛型编程的基础。

二.模板

模板有两种:函数模板和类模板

函数模板

语法:

template<typename T1, typename T2, ..., typename T3>

返回值类型 函数名(参数列表){}

typename是用来定义函数模板的关键字,也可以使用class关键字。

样例:

//交换函数模板
template<typename T>
void Swap(const T& x, const T& y)
{T tmp = x;x = y;y = tmp;
}int main()
{int i1 = 1, i2 = 2;double d1 = 1.1, d2 = 2.2;char c1 = 'a', c2 = 'b';//隐式实例化Swap(i1, i2);//隐式(推导)生成void Swap(const int& x, const int& y);Swap(d1, d2);//隐式(推导)生成void Swap(const double& x, const double& y);Swap(c1, c2);//隐式(推导)生成void Swap(const char& x, const char& y);//显式实例化float f1 = 1.1, f2 = 2.2;Swap<float>(f1, f2);//显式(手动)生成void Swap(const float& x, const float& y);return 0;
}

模板函数是一个蓝图,非具体函数,而是编译过程中,编译器根据蓝图生成了具体类型的函数。

模板参数实例化的两种方式:

隐式实例化:编译器根据实参推演模板参数的实际类型

显式实例化:函数名<>,在<>中指定模板参数的实际类型

 如果一个非模板函数和同名函数模板同时存在,且调用时实参和非模板函数完全匹配,编译器会优先调用这个非模板函数。

类模板

语法:

template<typename T1, typename T2, ... , typename Tn>

class 类模板名

{

        //成员定义

};

实现一个栈的类模板:

//Stack
template<typename T>
class Stack
{
public://构造函数Stack(int n = 4):_arr(new T[n]),_top(0),_capacity(n){}//析构函数~Stack(){delete[] _arr;_arr = nullptr;_top = _capacity = 0;}void Push(const T& x){T* tmp = new T[_capacity * 2];memcpy(tmp, _arr, sizeof(T) * _top);delete[] _arr;_arr = tmp;_capacity *= 2;_arr[_top++] = x;}void Pop(){_top--;}//...
private:T* _arr;int _top;int _capacity;
};int main()
{//Stack<int>和Stack<double>是类型,Stack仅仅是类名Stack<int> st_i;//存储int类型数据的栈Stack<double> st_d;//存储double类型数据的栈return 0;
}

 上述代码中,Stack<int>和Stack<double>是显式实例化出的两个存储不同数据类型的栈,它们属于不同的类型。

类模板实例化需要在类模板名字后跟<>,然后将实例化的类型放在<>中即可,类模板名字不是真正的类,而实例化的结果才是真正的类。

今天的内容就到这,感谢大家的支持!

http://www.15wanjia.com/news/52235.html

相关文章:

  • 网站建设广金手指六六十四世界足球排名前100名
  • html5大气网站醴陵网站制作
  • wordpress 协同郑州见效果付费优化公司
  • 武进网站建设方案google首页
  • wordpress 子站点竞价托管如何托管
  • mq网站开发seo站长工具是什么
  • 淘宝客做网站怎么操作青岛百度推广优化怎么做的
  • 东莞专业网站设计平台免费的网站域名查询app
  • 南昌做网站哪个好专业技能培训机构
  • 企业网站app开发平台企业产品推广运营公司
  • bootstrap开源模板seo也成搜索引擎优化
  • 宁波网站排名提升seo技术
  • 专业设计网站排名大数据是干什么的
  • 唐山seo公司百度官网优化
  • 效果图制作软件手机版外贸推广优化公司
  • 门户网站建设周期0元做游戏代理
  • 网站设计云匠网网络营销五个特点
  • 博彩游戏网站怎么建设网站收录申请
  • 淘宝客怎么做自己的网站重庆网站seo公司
  • 贵阳小程序开发软件公司seo站长优化工具
  • 顺德水利和国土建设局网站全国各城市疫情搜索高峰进度
  • 过年做啥网站致富免费推广的网站平台
  • 艺术品拍卖网站源码php深圳百度国际大厦
  • 南海网站建设公司二级域名网址查询
  • 专业做家居的网站有哪些优化百度涨
  • 网站建设过程中的需求分析营销网站案例
  • 企业展示型网站有哪些网络优化师
  • 网站页面制作万网域名注册查询
  • 重庆网站建站模板公司广告优化师工作内容
  • 介绍一学一做视频网站吗百度信息流推广是什么意思