个人网站毕业设计论文wordpress plugins php speedy

diannao/2026/1/25 20:57:26/文章来源:
个人网站毕业设计论文,wordpress plugins php speedy,在线做效果图有哪些网站,wordpress 文章模版结束了常用容器的介绍#xff0c;今天继续模版内容的讲解#xff1a; 文章目录 1.非类型模版参数2.模板的特化2.1模版特化引入和概念2.2函数模版特化2.3类模板特化2.3.1全特化2.3.1偏特化 3. 模板分离编译3.1分离编译概念3.2**模板的分离编译**分析原因 1.非类型模版参数 模板…结束了常用容器的介绍今天继续模版内容的讲解 文章目录 1.非类型模版参数2.模板的特化2.1模版特化引入和概念2.2函数模版特化2.3类模板特化2.3.1全特化2.3.1偏特化 3. 模板分离编译3.1分离编译概念3.2**模板的分离编译**分析原因 1.非类型模版参数 模板参数可以大致分为分类类型形参与非类型形参。 类型形参即出现在模板参数列表中跟在class或者typename之类的参数类型名称 非类型形参就是用一个常量作为类(函数)模板的一个参数在类(函数)模板中可将该参数当成常量来使用 #includeiostream using namespace std;templateclass T,int N class MyArray { public:MyArray() {for (int i 0; i N; i) {_arr[i] i;}}void print(){for (int i 0; i N; i){cout _arr[i] ;}} private:T _arr[N];//定义一个静态数组 };void test1() {MyArrayint, 10 my;my.print(); }int main() {test1();return 0; }注意 浮点数、类对象以及字符串是不允许作为非类型模板参数的。 非类型的模板参数必须在编译期就能确认结果。 2.模板的特化 2.1模版特化引入和概念 通常情况下使用模板可以实现一些与类型无关的代码但对于一些特殊类型的可能会得到一些错误的结果需要特殊处理。如下 templateclass T bool Less(T left, T right) {return left right; }void test2() {cout Less(1, 2) endl; //结果正确double d1 1.1;double d2 2.2;cout Less(d1, d2) endl; //结果正确double* p1 d1;double* p2 d2;cout Less(p1, p2) endl; //结果错误 }int main() {test2();return 0; }可以看到Less绝对多数情况下都可以正常比较(前两者)但是在特殊场景下最后一个就得到错误的结果。上述示例中p1指向的d1显然小于p2指向的d2对象但是Less内部并没有比较p1和p2指向的对象内容而比较的是p1和p2指针的地址的大小这就无法达到预期而错误。 此时就需要对模板进行特化。即在原模板类的基础上针对特殊类型所进行特殊化的实现方式。模板特化中分为函数模板特化与类模板特化 2.2函数模版特化 函数模板的特化步骤 必须要先有一个基础的函数模板 关键字template后面接一对空的尖括号 函数名后跟一对尖括号尖括号中指定需要特化的类型 函数形参表: 必须要和模板函数的基础参数类型完全相同 解决上述问题 templateclass T bool Less(T left, T right) {return left right; } // 对Less函数模板进行特化 template bool Lessdouble*(double* a, double* b)//函数名后跟一对尖括号 {return *a *b; }void test2() {cout Less(1, 2) endl; //结果正确double d1 1.1;double d2 2.2;cout Less(d1, d2) endl; //结果正确double* p1 d1;double* p2 d2;cout Less(p1, p2) endl; //结果错误 }int main() {test2();return 0; }同时我们也不仅可以利用特化解决直接重载也是可以的(直接给出针对这个类型的函数) bool Less(double* left, double* right) { return *left *right; }该种实现简单明了代码的可读性高容易书写因为对于一些参数类型复杂的函数模板特化时特别给出因此函数模板不建议特化。 2.3类模板特化 2.3.1全特化 全特化即是将模板参数列表中所有的参数都确定化 templateclass T1, class T2 class Data { public:Data() { cout DataT1, T2 endl; } private:T1 _d1;T2 _d2; };template//这是全特化 class Dataint, double { public:Data() { cout Dataint, double endl;} private:int _d1;double _d2; };void test3() {Dataint,int d1;Dataint,double d2; }int main() {test3();return 0; }2.3.1偏特化 偏特化有以下两种表现方式 部分特化将模板参数类表中的一部分参数特化。 templateclass T1, class T2 class Data { public:Data() { cout 正常没特化DataT1, T2 endl; } private:T1 _d1;T2 _d2; };template//这是全特化 class Dataint, double { public:Data() { cout 全特化Dataint, double endl;} private:int _d1;double _d2; };templateclass T//这是偏特化 class DataT, double { public:Data(){cout 偏特化DataT, double endl;} private:int _d1;double _d2; };void test3() {Dataint,int d1;Dataint,double d2;Datachar,double d3; }int main() {test3();return 0; }当既满足偏特化又满足全特化会作何选择呢 选择全特化偏特化还需要参数匹配还需要实例化一部分参数我们直接用现成的全特化 参数更进一步的限制偏特化并不仅仅是指特化部分参数而是针对模板参数更进一步的条件限制所设计出来的一个特化版本。 templateclass T1,class T2//这是偏特化另一情况进行限制这里限制为指针 class DataT1*, T2* { public:Data(){cout 偏特化DataT1*, T2* endl;} private:T1 _d1;T2 _d2; };templateclass T1, class T2//这是偏特化另一情况进行限制这里限制为指针 class DataT1, T2 { public:Data(){cout 偏特化DataT1, T2 endl;} };void test3() {Dataint*,int* d1;Dataint,double d2; }int main() {test3();return 0; }3. 模板分离编译 3.1分离编译概念 一个项目我们通常会用若干个源文件共同实现而每个源文件单独编译生成目标文件最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式 3.2模板的分离编译 在之前的各种使用中我们没有过把模版声明和定义分离放在两个文件里 如果分离 一运行就发现找不到这个函数 分析原因 我们知道C/C程序的运行一般包括了预处理、编译、汇编和链接等步骤。 预处理Preprocessing 这个阶段会处理源代码中的预处理指令比如#include、#define等将宏展开、头文件包含等操作。预处理的结果是生成一个纯粹的C源文件没有预处理指令。编译Compilation 编译器将预处理后的源代码翻译成汇编语言。在这个阶段编译器会进行词法、语法、语义分析并生成相应的汇编代码。每个源文件都会被单独编译生成相应的目标文件Object File通常以.obj、.o等为扩展名。汇编Assembly 汇编器将汇编代码转换成机器语言的目标文件。链接Linking 链接器将多个目标文件、库文件以及系统的一些运行时代码合并成一个可执行文件。链接的过程包括地址解析、符号解析、重定向等步骤确保各个目标文件中的符号能够正确关联。 从main函数开始执行我们遇到了Add1,2因为包含了.h头文件有声明我们会到链接部分找实现但是在另一方文件的实现不知道我进行了实例化也就没有进行实例化所以链接后找不到 模板在使用时需要在编译阶段进行具体实例化而编译器需要在编译的时候能够看到模板的完整定义以便正确生成代码。如果将模板的声明和定义分离成不同的文件编译器就无法在编译阶段得知模板的具体实现 模板的编译过程通常包含两个主要阶段模板的定义和模板的实例化。 模板定义 模板定义包括模板的声明和实现。这一部分通常包含在头文件.h或.hpp中并在源文件.cpp中包含。在编译过程的第一阶段编译器会处理源文件和头文件但并不会生成实际的代码。模板实例化 在使用模板的源文件中当实际用到模板的具体类型时编译器会进行模板实例化。这时编译器需要看到模板的完整定义以便生成相应类型的实际代码。这个阶段实际上是对模板进行展开生成模板特定实例的代码。 由于模板实例化需要在编译时完成模板的定义必须在使用它的源文件中可见。如果将模板的声明和实现分离到不同的文件编译器在实例化时就无法找到完整的定义从而导致编译错误

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/88177.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

seo网站分析工具建网站 服务器需要安装 tomcat

A.Graphics类 Graphics类是java.awt包中的一个类,它用于在图形用户界面(GUI)或其他图形应用程序中进行绘制。该类通常与Component的paint方法一起使用,以在组件上进行绘制操作。 一些Graphics类的常见用法和方法: 在组…

网站建设推广代理带动画引导的网站

目录 1. 作者介绍2. 目标跟踪算法介绍2.1 目标跟踪背景2.2 目标跟踪任务分类2.3 目标跟踪遇到的问题2.4 目标跟踪方法 3. 卡尔曼滤波的目标跟踪算法介绍3.1 所用数据视频说明3.2 卡尔曼滤波3.3 单目标跟踪算法3.3.1 IOU匹配算法3.3.2 卡尔曼滤波的使用方法 3.4 多目标跟踪算法 …

服务范围 网站建设公司做企业网站怎么接活

获取MD5、SHA1、SHA256指纹信息 通过命令的形式获取 winr调出黑窗口cd到证书所在目录输入keytool -list -v -keystore test.keystore,其中 test.keystore为你的证书名称加文件后缀按照提示输入你的证书密码,就可以查看证书的信息 通过uniapp云端查看(证书是在DClou…

建筑行业网站模版百度指数分析报告

1.如何对R语言中两种颜色之间进行细分 2.代码&#xff1a; x <- colorRampPalette(c("#FC8D62","#FDEAE6"))(12) #打印向量值 # 按字典顺序排序颜色值 x_sorted <- sort(x,decreasing TRUE)# 打印排序后的颜色值 print(x_sorted)#展示颜色 scales:…

购门网站建设内丘网站建设

文章目录 前言叶节点 Leafs1、行为 Action2、判断 Condition控制组件 Composites1、顺序执行器 Sequencer2、选择执行器 Selector3、概率选择执行器 Probability Selector4、权重选择执行器 Priority Selector5、平行执行器 Parallel6、轮流选择器 Flip Selector7、完整执行器 …

网站定制设计制作公司网站建设论文的中期报告

如何去区分一个功能测试工程师的水平高和低&#xff1f; 可以从很多个方面去检查&#xff0c;比如测试的思路&#xff0c; 比如测试用例的覆盖度&#xff1f;&#xff0c;比如测试出bug是否能够定位到根因&#xff1f; 上面说的各个方面都很合理&#xff0c;那我们平常如何如更…

dw做网站教程视频各大搜索引擎提交入口地址

注&#xff1a;此为笔者学习狂神说SpringBoot的笔记&#xff0c;其中包含个人的笔记和理解&#xff0c;仅做学习笔记之用&#xff0c;更多详细资讯请出门左拐B站&#xff1a;狂神说!!! 一、整合JDBC使用&#xff08;理解&#xff09; 创建项目 勾选依赖启动器 查看依赖 …

网站 续费wap网站在线生成app

这节课主要讲缓存的基本思想、缓存的优点、缓存的代价三个部分。 缓存的定义 先来看下缓存的定义。 & 缓存最初的含义&#xff0c;是指用于加速 CPU 数据交换的 RAM&#xff0c;即随机存取存储器&#xff0c;通常这种存储器使用更昂贵但快速的静态 RAM&#xff08;SRAM&…

怎样做视频直播网站wordpress关闭会员

作者&#xff1a;苏雷江摘要&#xff1a;在科技英语翻译中&#xff0c;如何正确的理解与表达英语词语对整个翻译过程起着至关重要的作用。本篇文章从词义的选择和词义的引申两个方面来具体阐述如何做到正确的理解与表达科技英语翻译中的英语词语。关键词&#xff1a;科技英语翻…

宁夏做网站的网页游戏软件制作专业

当涉及到网络通信时&#xff0c;OSI参考模型定义了七个层级来描述网络协议和通讯过程。以下是对每个层级的详细介绍&#xff1a; 物理层&#xff08;Physical Layer&#xff09;&#xff1a; 物理层负责将比特流传输到物理媒介上。确定电压、光信号等传输细节&#xff0c;并定义…

淄博网站制作定制视觉国家企业查询官网入口

I love exam 不知道为啥刚开始不写&#xff0c;那么简单的背包预处理dp&#xff0c;太菜了吧 fi,jf_{i,j}fi,j​对于第i门课来说花费j天得到的最大分数 gi,j,pg_{i,j,p}gi,j,p​考虑前i门课&#xff0c;花费j天复习得到的最大分数 #include<bits/stdc.h> using namespa…

网站建设 硬件投入网站安全检测服务

前几天部署Exchange2010时建立了几个通讯组邮箱&#xff0c;测试下来发现只有exchange内部组员进行邮件交流没有问题&#xff0c;外网发送到组邮箱时会收到#550 5.7.1 RESOLVER.RST.AuthRequired; authentication required ##的错误&#xff0c;当时没有找出问题原因&#xff0…

网站设计方案图事件营销ppt

没有服务器和公网IP&#xff0c;想要其他人访问自己做好的网站&#xff0c;使用这款简单免费的内网穿透小工具——ngrok&#xff0c;有了它轻松让别人访问你的项目~ 一、下载ngrok 官网地址&#xff1a;ngrok | Unified Application Delivery Platform for Developers&#x…

上海金山网站设计公司荣耀手机官网入口

不润湿(Nonwetting)/润湿不良(Poor Wetting) 通常润湿不良是指焊点焊锡合金没有很好的铺展开来,从而无法得到良好的焊点并直接影响到焊点的可靠性。 产生原因: 1. 焊盘或引脚表面的镀层被氧化,氧化层的存在阻挡了焊锡与镀层之间的接触; 2. 镀层厚度不够或是加工不良,很…

让家里的电脑做网站服务器连江建设局网站

谁年轻的时候没有遇见过几个渣男&#xff1f;没有买错过几双不合尺码的鞋子&#xff1f;渣男无法巧避&#xff0c;但是买到不合尺码的鞋子这样的囧事倒是可以有效避免的。下面一起来了解下鞋子尺码的量法吧。工具&#xff1a;纸张、笔步骤&#xff1a;1、赤脚踩在白纸上&#x…

人才招聘网站怎么做免费申请qq号

前言 由于最近打算交叉编译 python&#xff0c;依赖 libffi 库&#xff0c;而交叉编译 libffi 库&#xff0c;由于使用的是 github 上的 libffi&#xff0c;又提示 autoconf 版本太低了&#xff0c;所以&#xff0c;先更新 autoconf 的版本 当前 ubuntu 20.04 上安装的 autuco…

电商网站建设的特点营销推广的主要方法

关于 Logback 日志系统是一个线上项目必备的素质之一&#xff0c;代表性的日志框架 Log4j、SLF4J、Logback 这哥仨竟然是亲兄弟&#xff0c;他们有一个亲爹&#xff0c;那就是巨佬 Ceki Gulcu。 由于 Spring Boot 的默认日志框架选用的 Logback&#xff0c;再加上 Log4j2 之前…

一个网站绑定两个域名企业画册宣传设计

博主推荐延展咨询资深顾问 沈靓文章 装备制造企业产品具有单件产值大、技术含量高、生产周期长、完全个性化生产的特点&#xff0c;伴随着制造业整体水平的提高&#xff0c;近几年又兴起了异地制造、移动工厂等模式&#xff0c;而装备制造业现有的管理方式和信息化水平多不能适…

网站做3儿童车开场动画天津智能网站建设价位

项目需求有个数据需要处理,现有两个数组arr1和arr2,其中 arr1为[“香蕉”, “苹果”, “梨子”],arr2为 [{ checked: true, name: “苹果” }] ,现在想实现的目的是,只要有arr1里的项与arr2项里的name一致的话就将其checked设为true,否则设为false,最终得到的数组是arr3,…

网站项目计划书模板范文电子产品网站建设分析的摘要

滑动选择文本内容的组件。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 TextPicker(options?: {range: string[] | string[][] | Resource | TextPickerRangeContent[] | Te…