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

成都自助建站模板网站建设评审表

成都自助建站模板,网站建设评审表,电商网站建站报价,网站域名申请程序越是简单而美好的东西,在落向现实的时候,越会变得面目全非。 前言 这是我自己学习C的第十篇博客总结。后期我会继续把C学习笔记开源至博客上。 上一期笔记是关于C的stack类与queue类知识,没看的同学可以过去看看: 【C】STL容器--…

  越是简单而美好的东西,在落向现实的时候,越会变得面目全非。

前言 

  这是我自己学习C++的第十篇博客总结。后期我会继续把C++学习笔记开源至博客上。

  上一期笔记是关于C++的stack类与queue类知识,没看的同学可以过去看看:

【C++】STL容器---Stack类与Queue类-CSDN博客https://blog.csdn.net/hsy1603914691/article/details/145817990

非类型模板参数 

1. 模板参数分为类型模板参数非类型模板参数

2. 非类型模板参数,就是用一个整形常量作为模板的一个参数在模板中可将该参数当成整形常量来使用

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
template<class T,size_t N=20>
class Stack
{
private:T _arr[N];int _top;
};
int main()
{Stack<int> s1;//N不传值默认为20Stack<int, 50> s2;return 0;
}

模板的特化

1. 函数模板不建议使用特化,通常都是将该函数直接给出。

2. 类模板的特化分为全特化偏特化

3. 全特化即是将模板参数列表中所有的参数都确定化

4. 偏特化有以下两种表现方式:将模板参数类表中的一部分参数进行特化针对模板参数类型进行限制

#define _crt_secure_no_warnings
#include <iostream>
using namespace std;//普通类模板
template<class T1, class T2>
class Data
{
public:Data() { cout << "Data<T1, T2>" << endl; }
private:T1 _d1;T2 _d2;
};//全特化类模板
template<>
class Data<int, char>
{
public:Data() { cout << "Data<int, char>" << endl; }
private:int _d1;char _d2;
};//偏特化类模板
template<class T1>
class Data <T1,int>
{
public:Data() { cout << "Data<T1, int>" << endl; }
private:T1 _d1;int _d2;
};//两个参数偏特化为指针类型
template <typename T1, typename T2>
class Data <T1*, T2*>
{
public:Data() { cout << "Data<T1*, T2*>" << endl; }
private:T1* _d1;T2* _d2;
};//两个参数偏特化为引用类型
template <typename T1, typename T2>
class Data <T1&, T2&>
{
public:Data(const T1& d1, const T2& d2): _d1(d1), _d2(d2){cout << "Data<T1&, T2&>" << endl;}
private:const T1& _d1;const T2& _d2;
};

模板分离编译 

  1. 编译阶段

    • a.cpp中,编译器看到了Add模板函数的定义
    • main.cpp中,编译器看到了Add模板函数的调用
    • 由于模板函数的实例化是在使用时进行的,因此在a.cpp中并没有为Add<int>和Add<double>实例化具体的函数
  2. 链接阶段

    • main.obj中,编译器知道需要调用Add<int>Add<double>
    • 但是,在a.obj中,并没有为这些类型实例化的具体函数。
    • 因此,链接器找不到这些函数的地址,导致链接错误。

解决措施:将模板函数的定义放在头文件中,这样每次包含头文件时都会实例化模板。

模板优缺点 

模板优点 

1. 模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库因此而产生。
2. 增强了代码的灵活性。

模板缺点 

1. 模板会导致代码膨胀问题,也会导致编译时间变长。
2. 出现模板编译错误时,错误信息非常凌乱,不易定位错误。

致谢 

  感谢您花时间阅读这篇文章!如果您对本文有任何疑问、建议或是想要分享您的看法,请不要犹豫,在评论区留下您的宝贵意见。每一次互动都是我前进的动力,您的支持是我最大的鼓励。期待与您的交流,让我们共同成长,探索技术世界的无限可能!

http://www.dtcms.com/a/562206.html

相关文章:

  • 边界扫描测试原理 15 -- BSDL 9 应用示例
  • 唐山专业网站建设公司阿里云虚拟主机和云服务器的区别
  • 济南旅游网站建设前程无忧网深圳网站建设类岗位
  • 查企业资质上什么网站东华软件是外包公司吗
  • 整体设计 全面梳理复盘 之15 :整体设计属性体系构建与实体表格落地
  • 自建服务器做网站要备案英文企业网站源码
  • 广州 营销型网站图书宣传推广方案
  • 网站设计教学网页站点设计
  • 东莞在哪里学网站建设嘉兴网站制作计划
  • 计算机图形学·4 OpenGL编程1 背景知识
  • 做外贸的有些什么网站wordpress编辑器不行
  • 各大网站logo图标wap站开发
  • 山西 网站制作旅游网站开发说明
  • springboot基于java的少数民族音乐网站的设计与实现(代码+数据库+LW)
  • 强化学习2.4 MDP作业汇总(持续更新)
  • 使用Requests和正则表达式实现塔读小说网小说爬取
  • Guava TreeRangeSet:区间运算的数学之美!
  • 双指针问题(同向)
  • seo公司哪家便宜宁波关键词排名优化平台
  • 安徽静安集团网站建设网站打不开了怎么办
  • 建设ftp网站怎么创建数据库帮忙做ppt的网站
  • Java 大视界 -- Java 大数据在智能医疗手术风险评估与术前方案制定中的应用探索
  • 做外贸网站推广成都网站建设外包
  • linux命令-压缩-12
  • 手机网站的视频怎么才能下载wordpress top0.9主题
  • 专门做房地产设计的图片网站上谷网络网站建设
  • 网站上怎么做弹目提醒定制app开发平台
  • 下载 | Win11 25H2 正式版更新!(ISO映像、年度更新版本、26200.7019、Windows 11)
  • Java的Collection接口和常用方法(Iterator和增强for)
  • 赣州网站建设方案婚纱官网