c++中几种swap

 在c与c++中,有多种办法可以通过函数交换传入的两数的值,但有容易有一些问题产生,因而本文将几种交换方式及容易出错的点进行了分类。 1.传引用 这是c++中最常见方式 如下: int swap1 (int &a,int &b) { int c; c=a;    a=b;   


vector的几种初始化及赋值方式

转自https://www.cnblogs.com/quyc/p/12857054.html (1)不带参数的构造函数初始化 //初始化一个size为0的vector vector<int> abc; (2)带参数的构造函数初始化 //初始化size,但每个元素值为默认值 vector<int> a


c++ stl nth_element 原理解析

  nth_element是stl中的一个库函数,该函数可以从某个序列中找到第 n 小的元素 K,并将 K 移动到序列中第 n 的位置处。不仅如此,整个序列经过 nth_element() 函数处理后,所有位于 K 之前的元素都比 K 小,所有位于 K 之后的元素都比 K 大。 但这个函数与完整排序


stl源码解析,deque的insert_aux

直接上结论:deque的insert_aux中插入开始会push back或front一个和最末尾或最前面值相同的值是为了看是否需要扩充deque内存,选这个值应该是顺手。 stl中deque的实现是通过一个存储指向各个存储区域指针的map(注意就是个指针地图,不是stl的map数据结构),里面再指