摘要: 1 vector基本概念 功能: vector数据结构和数组非常相似,也称为单端数组 vector与普通数组区别: 不同之处在于数组是静态空间,而vector可以动态扩展 动态扩展: 并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间 vector容器的迭代器是支 阅读全文
posted @ 2021-03-06 18:54 fynnn 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 1 string基本概念 本质: string是C++风格的字符串,而string本质上是一个类 string和char * 区别: char * 是一个指针 string是一个类,类内部封装了char*,管理这个字符串,是一个char*型的容器。 特点: string 类内部封装了很多成员方法 例 阅读全文
posted @ 2021-03-05 11:08 fynnn 阅读(39) 评论(0) 推荐(0) 编辑
摘要: 2.1 STL的诞生 长久以来,软件界一直希望建立一种可重复利用的东西 C++的面向对象和泛型编程思想,目的就是复用性的提升 大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作 为了建立数据结构和算法的一套标准,诞生了STL ​ 2.2 STL基本概念 STL(Standard T 阅读全文
posted @ 2021-03-05 10:09 fynnn 阅读(44) 评论(0) 推荐(0) 编辑
摘要: C++另一种编程思想称为 泛型编程 ,主要利用的技术就是模板 C++提供两种模板机制:函数模板和类模板 ####1 函数模板语法 函数模板作用: 建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。 语法: template<typename T> 函数声明或定义 解 阅读全文
posted @ 2021-03-05 09:39 fynnn 阅读(69) 评论(0) 推荐(0) 编辑
摘要: ####1 多态的基本概念 多态是C++面向对象三大特性之一 多态分为两类 静态多态: 函数重载 和 运算符重载属于静态多态,复用函数名 动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别: 静态多态的函数地址早绑定 - 编译阶段确定函数地址 动态多态的函数地址晚绑定 - 运行阶段确定 阅读全文
posted @ 2021-03-05 09:05 fynnn 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型 1 加号运算符重载 作用:实现两个自定义数据类型相加的运算 图示: class Person { public: Person() {}; Person(int a, int b) { this->m_A = a; 阅读全文
posted @ 2021-03-03 10:12 fynnn 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 生活中你的家有客厅(Public),有你的卧室(Private) 客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去 但是呢,你也可以允许你的好闺蜜好基友进去。 在程序里,有些私有属性 也想让类外特殊的一些函数或者类进行访问,就需要用到友元的技术 友元的目的就是让一个函数或者类 阅读全文
posted @ 2021-03-03 09:46 fynnn 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 1 构造函数和析构函数 对象的初始化和清理也是两个非常重要的安全问题 ​ 一个对象或者变量没有初始状态,对其使用后果是未知 ​ 同样的使用完一个对象或变量,没有及时清理,也会造成一定的安全问题 c++利用了构造函数和析构函数解决上述问题,这两个函数将会被编译器自动调用,完成对象初始化和清理工作。 对 阅读全文
posted @ 2021-03-02 15:16 fynnn 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 1 内存分区模型 C++程序在执行时,将内存大方向划分为4个区域 代码区:存放函数体的二进制代码,由操作系统进行管理的 全局区:存放全局变量和静态变量以及常量 栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等 堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收 内存四区意义 阅读全文
posted @ 2021-03-02 09:56 fynnn 阅读(27) 评论(0) 推荐(0) 编辑
摘要: **作用:**利用指针作函数参数,可以修改实参的值 示例: //值传递 void swap1(int a ,int b) { int temp = a; a = b; b = temp; } //地址传递 void swap2(int * p1, int *p2) { int temp = *p1; 阅读全文
posted @ 2021-03-02 08:14 fynnn 阅读(71) 评论(0) 推荐(0) 编辑