
知识总结——C++初阶
文章平均质量分 94
bfsm
这个作者很懒,什么都没留下…
展开
-
C++的I/O流
目录C语言的输入输出流是什么C++中I/O流标准I/O流文件I/O流`stringstream`简单介绍C语言中整型转为字符型C++中整型转为字符型C语言的输入输出C 语言中我们用到的最频繁的输入输出方式就是scanf()与printf():scanf():从标准输入设备(键盘)读取数据,并将值存放在变量中;printf():将指定的文字 / 字符串输出到标准输出设备(屏幕),注意宽度输出和精度输出的控制;C 语言借助了相应的缓冲区来进行输入与输出,如下图所示:对输入输出缓冲区的理解:原创 2021-04-19 18:06:47 · 246 阅读 · 0 评论 -
模板进阶
目录非类型模板参数模板的特化概念函数模板特化非类型模板参数类类型形参:出现在模板参数列表中,跟在class或者typename之后的参数类型名称;非类型形参:就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成常量来使用;// 定义一个模板类型的静态数组template<class T, size_t N = 10>class array{public: T& operator[](size_t index){return _array[ind原创 2021-04-19 15:43:43 · 167 阅读 · 0 评论 -
容器——stack和queue
目录容器适配器容器适配器原创 2021-04-13 11:52:30 · 442 阅读 · 0 评论 -
容器——list
目录原创 2021-04-11 16:24:14 · 434 阅读 · 1 评论 -
容器——vector
目录介绍成员函数构造函数赋值运算符介绍vector是表示可变大小数组的序列容器,在使用时需要包含#include<vector>头文件;vector和string一样也采用了连续存储空间来存储元素,只不过它是一种泛型编程,也就是说该容器可以存储不同类型的元素,并不局限于字符型元素;本质讲,vector使用动态分配数组来存储它的元素,当空间不够但需要插入元素时,其做法是分配一个新的数组,然后将全部元素移到这个数组,就时间而言,这是一个代价相对高的任务,因为每当一个新的元素加入到容器的时候原创 2021-04-06 09:23:02 · 271 阅读 · 0 评论 -
容器——string
目录背景介绍常用接口背景 在 C 语言中,字符类型是char类型,字符串类型则是以\0结尾的一些字符的集合,也就是char类型数组,末尾自带\0;而在 C 语言中,为了方便我们使用自己创建的字符串,因此在string.h头文件中包含了许多字符串操作函数,但是 C++ 是面向对象编程的语言,而 C 语言中这样的操作很明显的将对象与行为分离了,不符合主思想;另外在使用这些函数时,参数什么的都需要用户自己管理,很容易造成访问越界,非常不友好; 因此在 C++ 中,在 STL 的容器中,出现了封装好的st原创 2021-03-23 17:17:39 · 289 阅读 · 1 评论 -
模板初阶与STL简介
目录泛型编程函数模板概念语法格式原理实例化分类匹配原则类模板语法格式实例实例化STL简介概念六大组件泛型编程在现在所学的基础上,我们想要实现一个功能相同、参数类型不同的函数时,我们所能想到的办法就是函数重载,但是函数重载虽能解决问题,但是也有一些缺陷:1.重载的函数仅仅只是类型不同,代码的复用率比较低,只要有新类型出现时,就需要增加对应的函数;2.代码的可维护性比较低,一个出错可能所有的重载均出错; 因此我们需要想出一种解决办法,在 C++ 中也确实有这样的办法,那就是——模板,通过给模板添原创 2021-03-16 16:41:10 · 233 阅读 · 0 评论 -
C++内存管理
目录原创 2021-03-16 09:44:05 · 130 阅读 · 0 评论 -
类和对象(下)
目录初始化列表构造函数与初始化初始化列表的语法注意事项`explicit`关键字`static`成员`static`成员变量`static`成员函数C++11 的成员初始化新特性友元友元函数初始化列表构造函数与初始化 在之前我们学习到了几个成员函数,其中的构造函数的作用就是为创建的对象进行初始化,不过大家需要注意的是,构造函数体中的语句只能将其称作为赋初值,而不能称作初始化。因为初始化只能初始化一次,而构造函数体内可以多次赋值。 真正的初始化工作是在函数接口与函数体之间的初始化列表中进行的,此处原创 2021-03-08 21:20:44 · 152 阅读 · 1 评论 -
类和对象(中)
目录构造函数概念特性析构函数概念特性拷贝构造函数概念特性构造函数概念class Date{public: void SetDate(int year, int month, int day){ _year = year; _month = month; _day = day;} void Display(){ cout <<_year<< "-" <<_month << "-"<< _day <<endl;原创 2021-02-16 14:50:31 · 163 阅读 · 0 评论 -
类和对象(上)
目录类的引入类的定义在类内定义声明在类外定义声明类的访问限定符及封装访问限定符封装类的作用域及实例化类的作用域类的实例化类的引入 相信大家都知道,C 语言是面向过程的语言,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题;C++ 是基于面向对象的语言,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成,那么我们该如何定义出一个个的对象呢? 在 C 语言中,我们可以通过结构体定义一个事物的大概模样,但是这不够准确,因为 C 语言的结构体中只能定义变量;但在 C++ 中就不一样原创 2021-02-03 16:43:59 · 176 阅读 · 1 评论 -
C++入门
目录前言关键字命名空间`namespace`使用方式输入&输出缺省参数缺省参数分类注意事项函数重载前言 在前面学习了 C 语言和数据结构基础之后,终于要开始学习新篇章——C++ 了。我个人觉得前面一段时间的努力是为现在的学习做铺垫,有了之前的基础,我相信在学习 C++ 的道路上会走的更快、更扎实,下面就让我们走进通向 C++ 学习的大门吧。关键字 在 c 语言中我们学习了 32 个关键字,而 C++ 在兼容 C 语言的基础上多出了不少关键字,但是我们并不需要将他们背下来,因为在学习的过程原创 2021-01-31 15:08:19 · 223 阅读 · 0 评论