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

房地产网站设计方案建设网站开发

房地产网站设计方案,建设网站开发,青岛网上房地产网签查询,怎么来维护已经上传的网站呢目录 1. 泛型编程 2. 函数模板 2.1 函数模板的概念及格式 2.2 函数模板的原理 2.3 模板的实例化 2.4 模板参数的匹配原则 3. 类模板 3.1 类模板格式 3.2 类模板的实例化 1. 泛型编程 什么是泛型编程#xff1f;泛型编程是避免使用某种具体类型而去使用某种通用类型来进行…目录 1. 泛型编程 2. 函数模板 2.1 函数模板的概念及格式 2.2 函数模板的原理 2.3 模板的实例化 2.4 模板参数的匹配原则 3. 类模板 3.1 类模板格式 3.2 类模板的实例化 1. 泛型编程 什么是泛型编程泛型编程是避免使用某种具体类型而去使用某种通用类型来进行程序编写的方式依次来复用某段代码而避免大规模功能相似重复冗余的代码。下面的代码如果想用泛型编程该如何实现。 int add(int a,int b) {return a b; } double add(double a, int b) {return a b; } double add(int a, double b) {return a b; } 马云有次说了这么一句话“世界是懒人创造的懒不是傻懒如果你想少干就要想出懒的方法。 要懒出风格懒出境界。”C必然也是有风格有境界的所以C中设计了模板实现了泛型编程。 2. 函数模板 2.1 函数模板的概念及格式 模板就是一种模具通过给这个模具中放不同的材料类型来获得不同材料的产品以此来提高我们的工作效率。而函数模板就是某个函数的模具与类型无关在使用的时候参数化在我们给出特定类型就会生成特定类型的版本。 函数模板的格式 templatetypename T1, typename T2 ...typename Tn 返回值类型 函数名(形参列表) {     //函数体 } 根据这个函数的模板我们就可以实现上述add函数的模板 templatetypename L, typename R,typename RET RET add(L l, R r) {return l r; } 注typename是用来定义模板参数的关键字也可以用class代替。 2.2 函数模板的原理 函数模板本身不是函数而是一个模具当我们传入实际类型的时候编译器会根据我们传入的实参类型来推演生成对应类型的函数进行调用。 2.3 模板的实例化 当我们将类型传入模板来生产函数的时候称之为模板的实例化模板的实例化分为隐式实例化和显式实例化。 1. 隐式实例化隐式实例化就是我们不去指定类型让编译根据我们传入的实参判断其类型传入模板参数列表进行实例化。如下 templatetypename L, typename R int add(L l, R r) {return l r; } int main() {int a 0, b 1;cout add(a, b) endl; //根据我传入的a和b自动判断类型进行模板实例化。 } 细心的同学发现这里我将原来的代码中 typename RET 删掉了原因就是模板不会对函数的返回值类型进行自动判断而需要我们手动指定也就是显式实例化。 2. 显式实例化显式实例化就是我们手动向模板传递类型然后由编译器进行实例化。显式实例化的格式为 函数名类型1类型2...实参列表 如  templatetypename L, typename R, typename RET RET add(L l, R r) {return l r; } int main() {int a 0, b 1;cout addint,int,int(a, b) endl; } 上述代码我们传进去的 a和b的类型与模板参数类型是匹配的如果不匹配的话编译器会进行隐式类型转化如果转化失败就报错。如下         类型转换成功 templatetypename L, typename R, typename RET RET add(L l, R r) {return l r; } int main() {double a 0.1;int b 1;cout addint,int,int(a, b) endl; //adouble类型隐式转换成int类型 } 输出 类型转化失败  templatetypename L, typename R, typename RET RET add(L l, R r) {return l r; }class Date {// }; int main() {int a 0, b 1;cout addint,Date,int(a, b) endl; //a类型转化失败 } 输出 E0304    没有与参数列表匹配的 函数模板 add 实例 2.4 模板参数的匹配原则 一个函数的模板函数可以与非模板函数同时存在并且在没有显式实例化且类型匹配的情况下会优先匹配非模板函数如果是显式实例化才会调用模板如下。 templateclass T void swap(T a, T b) {std::swap(a, b);std::cout 我是模板 ;std::cout a b std::endl;} void swap(int a, int b) {std::swap(a, b);std::cout 我是非模板 ;std::cout a b std::endl;} int main() {int a 1, b 2;std::cout a b std::endl;swap(a, b); //类型匹配优先调用非模板函数swapint(a, b); //调用模板实例化 } 输出 当我们没有去写模板的时候函数发生类型不匹配可能会进行隐式类型转换但是有了模板之后就不会发生隐式类型转化而是使用模板实例化出来一个更为合适的函数。如下         没有模板时会发生隐式实例化 void test(int a, int b) {std::cout 我不是模板 std::endl; }int main() {test(2, 2.0);//2.0发生隐式类型转化成int } 输出 存在模板不会发生隐式类型转化而是使用模板实例化出来一个更为合适的函数 templateclass T1,class T2 void test(T1 a, T2 b) {std::cout 我是模板 std::endl; } void test(int a, int b) {std::cout 我不是模板 std::endl; } int main() {test(2, 2.0);//不发生隐式类型转化而是隐式实例化模板 } 输出 3. 类模板 3.1 类模板格式 和函数模板一样类模板是类的一个模具类模板格式如下 templateclass T1,class T2,class T3,...class Tn class 类模板名 {     //类体 }; 我们普通类是可以声明和定义分离的如果类模板要实现声明和定义分离那么在定义的时候也要加上模板声明。如 templateclass T1, class T2 class A {~A(); //声明 };templateclass T1,class T2 AT1, T2::~A() //定义 {//... } 3.2 类模板的实例化 类模板的实例化和函数模板相同需要在类名后加上尖括号并且指定类型。注模板名不是类实例化后才是一个类。 templateclass T class Date {//.. }; int main() {Dateint; }
http://www.pierceye.com/news/780047/

相关文章:

  • 网站导航网址大全网页设计模板代码免费
  • 卖机械设备什么网站做推广好做机械有什么兼职网站
  • 全屋定制十大公认品牌有哪些seo页面链接优化
  • 电子商务网站建设基础考试十大营销手段
  • 关于做服饰网站的首页WordPress纯代码添加
  • 网站qq交谈怎么做的公司注册50万和100万
  • 网站推广的电子邮件推广使用ftp修改网站图片
  • 建设宣传家乡的网站跨境电商怎么注册
  • 广州天河区网站建设公司wordpress调用文章描述
  • 网站开发项目策划书制作书签怎么做
  • 做网站组织结构框架例子整站seo优化哪家好
  • 网站内存不足哈尔滨网站优化页面
  • 响应式网站 图片尺寸奇数南宁网站建设业务员
  • 咸宁 网站建设wordpress聚合广告平台
  • 家具展示型网站个人可以做几个网站
  • 建设网站商城需要多少费用注册网页代码
  • 徐州企业网站制作南宁网站建设专家
  • 雨发建设集团有限公司网站wordpress related posts
  • 成品网站速成网站大连专业app开发设计
  • 十堰门户网站建设中小企业网站制作407
  • 房产网站排行部署自己做的网站吗
  • 一_建设网站前的市场分析平台线上推广策略怎么写
  • 全国网站建设公司排名嘉兴网嘉兴网站建设
  • 渭南网站建设风尚网络python做网站显示表格
  • 网站访问过程服装定制行业的未来和趋势
  • 做拍卖网站多少钱怎么推广一个产品
  • 郑州做公司网站怎么做类似美团的网站吗
  • 网站建设服务公网站备案中是什么意思
  • 书店网站建设网站被k 如何恢复
  • 柳州做网站的企业瓯北网站制作