随笔分类 - C++
摘要:仿函数:返回值类型是bool数据类型,称为谓词 #include<iostream> #include<vector> #include<algorithm> using namespace std; class GreaterFive { public: bool operator()(int v
阅读全文
摘要:变量作用:给一段指定的内存空间起名,方便我们操作这段内存 常量作用:用于记录程序中不可更改的数据 #define 宏常量:通常在文件上方定义 const修饰的变量:变量定义关键字前加const 起名:字母、数字、下划线;第一个字符必须是字母或下划线 C++创建变量,必须要声明数据类型,否则无法分配内
阅读全文
摘要:高效率:快速从大量数据中找到你想要的数据 所有元素在插入时会根据key值自动排序 #include<iostream> #include<map> using namespace std; void printMap(const map<int, int>& m) { for (map<int, i
阅读全文
摘要:两个的头文件包含set即可 插入数值只有insert方法 不允许重复 #include<iostream> #include<set> #include<string> using namespace std; // set容器的构造和赋值的操作 void test01() { set<int> s
阅读全文
摘要:优点:可以怼任意位置进行快速的插入和删除元素 缺点:容器遍历速度没有数组快 占用空间比数组大(数据域和指针域) 双向循环链表! 双向迭代器! list和vector是最常被使用的容器 #include<iostream> #include<list> using namespace std; //
阅读全文
摘要:队头只能出数据,队尾只能进数据 只有队头和队尾才能被外界访问 empty() 判断是否为空 size() 返回队列的大小
阅读全文
摘要:入栈和出栈 栈顶元素:top() 栈不允许有遍历行为 遍历:非质变算法 栈可以判断容器是否为空吗? 可以。empty()判断 栈可以返回元素个数吗? 可以。size() 入栈记录 STL中提供的栈接口
阅读全文
摘要:vector对头部的插入删除需要移动元素 deque头端也是开的 vector内部结构是一段连续空间 中控器维护,像一段连续的空间 访问元素速度没有vector快,因为内部的实现 deque容器的迭代器也是支持随机访问的! #include<iostream> #include<deque> usi
阅读全文
摘要:单端数组 数组是静态空间,但是vector可以动态扩展 动态扩展:并不是在原空间后续接新空间,而是找更大的内存空间,然后将原数据拷贝到新空间,释放原空间。 因为没法保证后面的空间是不是空闲的 vector的迭代器是一个很强大的迭代器,因为它支持随机访问! vector是单端数组,因为前端是封闭的,只
阅读全文
摘要:补充: #include<string> 头文件中其实还包含了一些函数很有用,比如to_string()函数,函数名称在std中,函数能够将各种类型的数字转换成字符串! #include<cstring> 是C语言的头文件,里头包含了一些常用的函数,比如atoi和stoi,二者都能将数字字符串转换成
阅读全文
摘要:#include<iostream> #include<vector> #include<algorithm> // stl标准算法头文件 using namespace std; // vector容器存放内置数据类型 void myPrint(int val) { cout << val <<
阅读全文
摘要:函数的返回值不作为函数重载的条件。 这俩属于类型不同,可以发生函数重载。 int a = 10; fun(a); // 调用可读可写的fun fun(10);// 调用常量引用的fun 为什么? 坑2:碰到默认参数 func2(10); // 这时候肯定出错,不知道调用哪个了,出现了二义性,报错,尽
阅读全文
摘要:本质:给变量起别名 必须初始化,初始化完不可以改变。 优点:简化指针修改实参!非常有用,降低了指针的难度 #include<iostream> using namespace std; // 1.值传递 void mySwap01(int a, int b) { int temp = a; a =
阅读全文
摘要:代码区:所有的代码都会放这里 全局区: 栈:由编译器管理内存的分配和释放 堆:由程序员分配和释放 代码区和全局区都是程序运行前分配的两个区域 全局区:全局变量、静态变量、常量(const) 只要没有写到函数体中的都是全局变量 static静态变量也会放到全局区 常量: 字符串常量:双引号引起来的都是
阅读全文
摘要:C++中有一个文件流:fstream 操作文件的三大类: ofstream:写操作,文件的输出流 ifstream:读操作 fstream:读写操作 #include<iostream> #include<fstream> using namespace std; // 文本文件中的写文件 void
阅读全文
摘要:类型和变量 类型=类型数据+类型操作,比如整型 数据结构=结构定义+结构操作 C++内部类型其实都是数据结构,类只是C++让我们自己来创造数据结构 数据结构的核心思想永远都是封装,将数据和行为封装到一起,也就是结构定义和结构操作封装到一起。反应到C++中其实就是类和对象这部分知识。 类其实就是数据类
阅读全文
摘要:C++的异常处理机制为程序中异常检测和异常处理两部分的协作提供支持。在C++语言中,异常处理包括: throw表达式,异常检测部分使用throw表达式来表示它遇到了无法处理的问题。我们说throw引发了异常。 try语句块,异常处理部分使用try语句块处理异常。try语句块以关键字try开始,并以一
阅读全文
摘要:https://zhuanlan.zhihu.com/p/37331092 虚函数和纯虚函数 https://blog.csdn.net/u012206617/article/details/87697667 虚函数和纯虚函数 https://www.cnblogs.com/chwei2ch/p/1
阅读全文
摘要:C++的内存分为:堆、栈、自由存储区、全局/静态存储区、常量存储区。 全局变量、static全局变量、static局部变量时存放在全局/静态存取区的,是在程序编译的时候,就在全局存储区分配内存的,生存期为整个程序运行,直至运行结束才会被系统回收。 全局变量和static全局变量的区别在于作用域,全局
阅读全文
摘要:#include<iostream> using namespace std; int main() { int a = 8; a += a *= a /= a - 6; cout << "Result :" << a << endl; return 1; } 注意赋值运算符是从右往左结合的,所以这
阅读全文