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

网站首页界面设计wordpress 多站点开启

网站首页界面设计,wordpress 多站点开启,网站当前位置怎么做,网站建设论坛首页目录 模板的概念 函数模板#xff08;Function Templates#xff09; 基本用法 函数模板的实例化 匹配原则 类模板#xff08;Class Templates#xff09; 模板的概念 C中的模板#xff08;Templates#xff09;实际上是一种泛型编程#xff08;Generic Programm…目录 模板的概念 函数模板Function Templates 基本用法 函数模板的实例化 匹配原则 类模板Class Templates 模板的概念 C中的模板Templates实际上是一种泛型编程Generic Programming技术。泛型编程的核心思想是编写能够处理不同类型数据的通用代码而不必为每种数据类型都编写独立的代码。这使得代码更加灵活、可重用和高效。模板可以在编写代码时将类型参数化允许我们在不同的数据类型上执行相同的操作从而提高了代码的通用性。它们在很多情况下都可以代替手动编写相似的代码从而减少了冗余代码的数量。 然而模板编程也可能引入一些复杂性。编译器在实例化模板时会生成特定类型的代码因此模板可能导致编译时间增加。同时错误消息也可能变得较为晦涩因为模板的错误信息通常在编译器实例化时才会显示。 C中的模板有两种主要形式函数模板和类模板。 函数模板Function Templates 函数模板允许我们定义通用的函数其中的参数类型是参数化的。这样我们可以编写一次函数代码然后在不同类型的参数上调用该函数而无需为每种参数类型都编写一个单独的函数。函数模板使得我们能够编写一次算法代码然后用于不同类型的数据。 基本用法 templatetypename T1, typename T2,......,typename Tn 返回值 函数名(参数列表) {// 函数体 }/* 注释这里的typename也可以用class。typename是C11标准支持的C11之前一般都用class */ 用法示例 // 一个模板参数 templatetypename T void add(T a, T b) {return a b; }// 两个模板参数 templatetypename T1, typename T2 void add(T1 a, T2 b) {return a b; } 函数模板的实例化 函数模板可以看作是一个蓝图它本身并不是函数是编译器根据具体的使用方式产生特定类型函数的模具。所以模板其实就是将本来应该我们做的重复的事情比如定义多个类似的函数重载交给了编译器。         在编译器的编译阶段编译器会根据传入的实参类型来推演生成对应类型的函数以供调用。比如当用double类型使用函数模板时编译器通过对实参类型的推演将T确定为double类型然后生成一份专门处理double类型的代码这样我们在使用double类型代码时就会找到对应的代码入口而不是要找函数模板的位置。也就是说当我们使用了两种类型的模板时比如T为int和T为double的情况这两种其实生成的是两个代码只不过这些工作都由编译器为我们做了。 用不同类型的参数使用函数模板就被称为函数模板的实例化。模板参数实例化分为隐式实例化和显式实例化。隐式实例化让编译器根据实参推演模板参数的实际类型显式实例化在函数名后的中指定模板参数的实际类型。 假定有如下的类模板 templateclass T T Add(const T left, const T right) {return left right; } 那么对应的示例如下 Add(7,8); // 隐式实例化 Addint(2,5); // 显示实例化// 隐式实例化可能会出现类型自洽比如下面这种 Add(10, 3.14159); //error// 相应的问题显示实例化就不大容易出现 // 因为果类型不匹配编译器会尝试进行隐式类型转换如果无法转换成功编译器将会报错 // 下面这句代码就是3.14向指定的int算数转换且可以转换成功故代码正常运行 Addint(20, 3.14); //OK 匹配原则 一个非模板函数可以和一个同名的函数模板同时存在而且该函数模板还可以被实例化为这个非模板函数。对于非模板函数和同名函数模板如果其他条件都相同在调用时会优先调用非模板函数而不会从该模板产生出一个实例。反之 那么将选择模板的情况。模板函数不允许自动类型转换但普通函数可以进行自动类型转换 示例如下 // 专门处理int的加法函数 int Add(int left, int right) {return left right; } // 通用加法函数 templateclass T T Add(T left, T right) {return left right; } void Test() {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函数 } 类模板Class Templates 类模板允许我们定义通用的类其中的数据类型和一些行为是参数化的。通过在实例化时提供具体的类型参数我们可以创建一个特定类型的类。这使得我们能够编写一次代码然后在多种不同数据类型上使用。类模板允许我们创建具有通用行为的类而不必为每种类型都创建一个新类。 写法格式 templatetypename T1, typename T2, ..., typename Tn class 类模板名 {// 类内成员定义 };/* 注释这里的typename也可以用class。typename是C11标准支持的C11之前一般都用class */ 实例化 类模板的实例化不同于函数模板的实例化类模板的实例化只能显示实例化即使用时必须显示的指定类型编译器无法对类模板进行类型推导。
http://www.hkea.cn/news/14337245/

相关文章:

  • 市场调研的基本流程南阳seo网站建设费用
  • 个人网站静态网页模板wordpress设置分类标题
  • php是做网站美工的吗深圳网站建设行业新闻
  • 盐城网站建设科技有限公司网页认证怎么认证
  • 建设工程材料网站做网页的软件下载
  • 免费个人搭建网站WordPress自动采集豆瓣评分
  • 大数据软件和网站开发那个就业好今天重大新闻事件
  • 帝国手机网站cms系统屋领网站固链
  • 女生做网站运营累不累网站做301
  • 做淘客的网站有哪些nodejs搭建wordpress
  • .课程网站建设与应用建设网站一定需要云服务器么
  • 网站做问卷调查的问题外链 网站权重
  • 源创派网站建设编程工具
  • 网站规划书 确定网站建设目的网页制作WordPress模板
  • 怎样创建网站dw新乡seo外包
  • 网站怎样制作图文排版得物网上商城
  • 苏南建设集团网站网站开发数据交互
  • 网页出现网站维护开通网站需要什么手续
  • 企业建站搭建页游中心
  • 曲周县建设局网站做电影网站被告版权
  • 豫港大厦 做网站怎样做自己介绍网站
  • 建个人网站怎么赚钱吗做出个人网站什么水平
  • 网站 流量 不够用网站建设培训龙岗
  • 建湖做网站哪家好汉化WORDPRESS聊天软件
  • 怎么免费做网站视频教学成都中小企业网站建设哪家公司好
  • 网站建设考核指标佛山有那些定制网站建设公司
  • 临沂网站建设技术托管游戏网站开发需求分析
  • 做3d在哪个网站上接单比较好wordpress文章主题适合seo
  • 上海软件培训网站建设如何评价一个网站的网站建设
  • 临沂网站建设熊掌号网页设计怎么把图片上移