随笔分类 - C++
摘要:算法(Algorithm):STL算法主要由头文件<algorithm>,<numeric>和<functional>组成 <algorithm> 比较、交换、查找、遍历、复制、修改、反转、排序、合并等等算法 <numeric> 只包括几个在序列上进行数学运算的模板函数,加法、乘法等 <functi
阅读全文
摘要:mpa是一个键值对(key,value)序列容器, 其中key是唯一的,提供基于key的快速查询能力.属于标准关联式容器的一种. 元素插入过程是按排序规则插入,不能指定插入位置. 它不支持随机存取元素,不能使用数组[]和at方式进行访问. map与multimap区别: map中key是唯一的,而m
阅读全文
摘要:set(集合)是一个集合容器,容器中的元素是唯一的,元素即是键值又是实值,集合中的元素按一定的顺序排序.属于关联式容器的一种. 元素插入过程是按排序规则插入,不能指定插入位置. 它不支持随机存取元素,不能使用数组[]和at方式进行访问. set与multiset区别:set每个元素值在容器中只能出现
阅读全文
摘要:list(双向链表):是一个双向链表容器,可以高效的地进行插入和删除元素。 同前二种序列式容器相比,它不支持随机存取元素,不能使用数组[]和at方式进行访问。 它对元素的搜寻速度是所有容器中最慢的。 所需头文件:#include<list> 构造函数: 1 list<int> listA; //构造
阅读全文
摘要:deque(双端队列):是一种优化了的、对序列两端元素进行添加和删除操作的基本序列容器。 它允许较为快速地随机访问,但它不像vector 把所有的对象保存在一块连续的内存块,而是采用多个连续的存储块,并且在一个映射结构中保存对这些块及其顺序的跟踪. 向deque 两端添加或删除元素的开销很小。它不需
阅读全文
摘要:vector(向量):一个能够存放任意类型的动态数组。它是一个类模板,可用于表示多种不同的数据类型 所需头文件:#include<vector> vector与数组的区别: 数组长度是固定的,在定义时就确定了数组的长度,不能在定义后修改数组长度,更不能添加或删除数组中的元素 vector长度是非固定
阅读全文
摘要:容器:用来管理和存储一组元素的数据集合, 所有STL容器内部都提供默认构造函数和默认拷贝构造函数,当容器中加入元素时,内部会进行值拷贝,而不是引用 所有STL容器都提供了一些相同的操作方法,比如: size() 返回容器中元素个数 empty() 容器是否为空 c1 == c2 比较二个容器中所有元
阅读全文
摘要:模板:实现代码重用的一种方式,通过类型参数化,把类型定义为参数 C++模板分为:函数模板与类模板 函数模板: 定义个通用的函数,函数返回值类型和形参类型用虚拟的类型来代表. 当调用函数时系统会根据实参的类型来取代模板中的虚拟类型,从而实现不同的函数功能. 函数模板定义形式 Template<type
阅读全文
摘要:1.使用windows api方式转换 MultiByteToWideChar() WideCharToMultiByte() 需要包含头文件<Windows.h> 1 void StringToWstring_WindowApi(const string &str, wstring &wstr)
阅读全文
摘要:STL: C++标准模板库的简称,它是C++的一部份。标准C++库的所有的标识符都是在一个名为std的命名空间中定义的 在使用STL中相关模板时,需要包含相关头文件,然后using namespace std; 注意:C++所用的头文件名是在C语言的相应的头文件名(但不包括后缀.h)之前加一字母c
阅读全文
摘要:1.函数重载 相同作用域下,有多个函数名相同,但形参列表不同的函数,常用于处理功能相同但数据类型不同的问题 函数重载的规则: 函数名必须相同 函数形参列表必须不同(可以是参数个数不同,或者数据类型不同,或者参数排列顺序不同) 返回值可以相同也可以不同 注意:如果函数名相同,函数形参列表也相同,只有返
阅读全文
摘要:严谨编码风格的重要性: 1.便于代码合并,满足团队开发的需要 2.合格程序员的必备素质 3.防止编码错误 4.易读易理解 Google C++编码规范(中文版) https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styl
阅读全文

浙公网安备 33010602011771号