96SEO 2026-02-19 08:46 11
建立一个通用函数其函数返回值类型和形参类型可以不具体制定用一个虚拟的类型来代表。

b);//利用模板实现交换//1、自动类型推导mySwap(a,
template使用函数模板有两种方式自动类型推导、显示指定类型模板的目的是为了提高复用性将类型参数化
//错误模板不能独立使用必须确定出T的类型funcint();
{test01();test02();system(pause);return
利用函数模板封装一个排序的函数可以对不同数据类型数组进行排序排序规则从大到小排序算法为选择排序分别利用char数组和int数组进行测试
//如果最大数的下标不是i交换两者{mySwap(arr[max],
{test01();test02();system(pause);return
普通函数调用时可以发生自动类型转换隐式类型转换函数模板调用时如果利用自动类型推导不会发生隐式类型转换如果利用显示指定类型的方式可以发生隐式类型转换
}//使用函数模板时如果用自动类型推导不会发生自动类型转换,即隐式类型转换
报错使用自动类型推导时不会发生隐式类型转换myAdd02int(a,
}总结建议使用显示指定类型的方式调用函数模板因为可以自己确定通用类型T
如果函数模板和普通函数都可以实现优先调用普通函数可以通过空模板参数列表来强制调用函数模板函数模板也可以发生重载如果函数模板可以产生更好的匹配,优先调用函数模板
{//1、如果函数模板和普通函数都可以实现优先调用普通函数//
普通函数是有的但只是声明没有实现或者不在当前文件内实现就会报错找不到int
//调用普通函数//2、可以通过空模板参数列表来强制调用函数模板myPrint(a,
}总结既然提供了函数模板最好就不要提供普通函数否则容易出现二义性
b;}在上述代码中提供的赋值操作如果传入的a和b是一个数组就无法实现了
}}在上述代码中如果T的数据类型传入的是像Person这样的自定义数据类型也无法正常运行
因此C为了解决这种问题提供模板的重载可以为这些特定的类型提供具体化的模板
}//具体化显示具体化的原型和定意思以template开头并通过名称来指出类型
10);//自定义数据类型不会调用普通的函数模板//可以创建具体化的Person数据类型的模板用于特殊处理这个类型bool
{test01();test02();system(pause);return
利用具体化的模板可以解决自定义类型的通用化学习模板并不是为了写模板而是在STL能够运用系统提供的模板
}总结类模板和函数模板语法相似在声明模板template后面加类此类称为类模板
类模板没有自动类型推导的使用方式类模板在模板参数列表中可以有默认参数
//必须使用显示指定类型的方式使用类模板p.showPerson();
{test01();test02();system(pause);return
类模板使用只能用显示指定类型方式类模板中的模板参数列表可以有默认参数
普通类中的成员函数一开始就可以创建类模板中的成员函数在调用时才创建
obj;//类模板中的成员函数并不是一开始就创建的而是在模板调用时再生成void
m;m.fun1();//m.fun2();//编译会出错说明函数调用才会去创建成员函数
{test01();test02();test03();system(pause);return
通过类模板创建的对象可以有三种方式向函数中进行传参使用比较广泛是第一种指定传入的类型
当子类继承的父类是一个类模板时子类在声明的时候要指定出父类中T的类型如果不指定编译器无法给子类分配内存如果想灵活指定出父类中T的类型子类也需变为类模板
//错误c编译需要给子类分配内存必须知道父类中T的类型才可以向下继承
{test01();test02();system(pause);return
解决方式1直接包含.cpp源文件解决方式2将声明和实现写到同一个文件中并更改后缀名为.hpphpp是约定的名称并不是强制
//解决方式1包含cpp源文件//解决方式2将声明和实现写到一起文件后缀名改为.hpp
}总结主流的解决方式是第二种将类模板成员函数写到一起并将后缀名改为.hpp
Person;//如果声明了函数模板可以将实现写到后面否则需要将实现体写到类的前面让编译器提前看到
{//test01();test02();system(pause);return
可以对内置数据类型以及自定义数据类型的数据进行存储将数组中的数据存储到堆区构造函数中可以传入数组的容量提供对应的拷贝构造函数以及operator防止浅拷贝问题提供尾插法和尾删法对数组中的数据进行增加和删除可以通过下标的方式访问数组中的元素可以获取数组中当前元素个数和数组的容量
T[this-m_Capacity];}//拷贝构造MyArray(const
this-m_Size){return;}this-pAddress[this-m_Size]
0){return;}this-m_Size--;}//获取数组容量int
endl;printIntArray(array1);cout
array2(array1);array2.Pop_back();cout
endl;printIntArray(array2);cout
24);//插入数据pArray.Push_back(p1);pArray.Push_back(p2);pArray.Push_back(p3);pArray.Push_back(p4);pArray.Push_back(p5);printPersonArray(pArray);cout
{//test01();test02();system(pause);return
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback