随笔分类 - C/C++
C++相关
摘要:1. List 容器的基本概念 1. list 是一个双向链表容器,可高效的进行插入删除元素,他的原理在于每个元素都有两个指针来记录前后两个元素的地址,像火车车厢一样,list 中各个元素在物理存储单元上非连续,是通过指针相连在一起的。 2. 相较于vector的连续线性空间,list会显得复杂许多
阅读全文
摘要:deque.clear(); //移除容器的所有数据 1 #include <iostream> 2 #include <deque> 3 4 using namespace std; 5 6 int main() 7 { 8 int num[] = { 111,222,333,444,555 };
阅读全文
摘要:deque.insert(pos,elem); //在pos位置插入一个elem元素的拷贝,返回新数据的位置。 1 #include <iostream> 2 #include <deque> 3 4 using namespace std; 5 6 int main() 7 { 8 deque<i
阅读全文
摘要:1. deque 的大小 deque.size(); //返回容器中元素的个数 1 #include <iostream> 2 #include <deque> 3 4 using namespace std; 5 6 int main() 7 { 8 deque<int> deqInt_A; 9
阅读全文
摘要:deque 的赋值分下边4种方法: deque.assign(beg,end); //将[beg, end)区间中的数据拷贝赋值给本身。注意该区间是左闭右开的区间。 1 #include <iostream> 2 #include <deque> 3 4 using namespace std; 5
阅读全文
摘要:1. deque 的数据存取 这个部分和 vector 几乎一样 第一 使用下标操作 dequeName[0] = 100; //小心越界 第二 使用at 方法 如: dequeName.at(2) = 100; //小心越界 第三 接口返回的引用 dequeName.front() 和 deqIn
阅读全文
摘要:1.deque容器概念 deque是“double-ended queue”的缩写,和vector一样都是STL的容器,唯一不同的是:deque是双端数组,而vector是单端的。 、 Deque 特点: deque在接口上和vector非常相似,在许多操作的地方可以直接替换。 deque可以随机存
阅读全文
摘要:1. Vector 迭代器首地址与尾地址 begin() 和 end() 在代码中可以将迭代器用作参数的位置可以使用 begin() 和 end() 获取地址,如下代码: 1 #include <iostream> 2 #include <vector> 3 4 using namespace st
阅读全文
摘要:1. clear() 将整个 vector 都删除 使用 vectorname.clear() 可以将整个vector 中的元素全部删除,但是内存不会释放,如下代码: 1 #include <iostream> 2 #include <vector> 3 4 using namespace std;
阅读全文
摘要:vector 容器下的 insert() 方法拥有返回值,由于insert() 方法拥有4种重载函数,他的返回值不尽相同。 第一种,插入单个元素后的返回值: 1 #include <iostream> 2 #include <vector> 3 4 using namespace std; 5 6
阅读全文
摘要:vector 容器可以使用 vectorName.insert() 方法插入元素,vectorName.insert() 函数一共有4种重载方法: 第一种 insert() 用法:在指定地址插入单个元素 1 #include <iostream> 2 #include <vector> 3 4 us
阅读全文
摘要:1. 获取容器的元素个数 size() 使用 vectorName.size() 可以输出这个容器中类型的个数,如下代码: 1 #include <iostream> 2 #include <vector> 3 4 using namespace std; 5 6 int main() 7 { 8
阅读全文
摘要:1. 通过 push_back() 尾部增加一个元素 : vector 可以通过 “push_back ” 写入数据,通过 push_back 可以将数据直接写入至 vector 的末尾,push_back 会自动申请内存,并且多次 push_back 后会自动预先分配内存,如下代码: 1 #inc
阅读全文
摘要:vector 的几种带参构造 & 初始化与内存分配: 1. 普通的带参构造: vector 的相关对象可以在声明时通过 vector 的带参构造函数进行内存分配,如下: 1 #include <iostream> 2 #include <vector> 3 4 using namespace std
阅读全文
摘要:在实际的开发过程中,数据结构本身的重要性完全不逊于算法的重要性,当程序中存在着对时间要求很高的部分时,数据结构的选择就显得更加重要。 试想:如同栈一样的一条死胡同里停车,这样的效率会很高吗? 经典的数据结构数量有限,但是在项目实战中,我们常常重复着一些为了存放不同数据结构类型而实现顺序表、链表等结构
阅读全文
摘要:STL 主要分为三类: container(容器) - 用来管理一组数据元素 lterator(迭代器) - 可遍历STL容器内全部或部分元素的对象 algorithm(算法) - 对数据进行处理(解决问题)步骤的有限集合。 容器和算法通过迭代器可以进行无缝连接,在STL中几乎所有的代码都采用了模板
阅读全文
摘要:什么时候使用纯虚函数 某些类,在现实角度和项目角度都不需要实例化(不需要创建它的对象),这个类中定义的某些成员函数只是为了提供一个形式上的接口,准备上子类来做具体的实现。此时这个方法就可以定义为“纯虚函数”,包含纯虚函数的类,称之为抽象类。 纯虚函数的使用方法 使用 virtual 和纯说明符 “=
阅读全文
摘要:在C++类的结构中可以使用类方法创建内存,使用类的析构函数去施放内存,但有这么一种情况会导致:即使在析构函数中释放了内存,但由于析构函数没有被调用而导致内存泄漏,如下代码。 1 #include <iostream> 2 #include <string> 3 4 using namespace s
阅读全文
摘要:override 仅能用于虚函数,他属于C++新特性,是重写覆盖的意思,他的存在仅仅是为了提高代码的可阅读性: 作用: 1. 提示程序的阅读者,这个函数是重写父类的功能。 2. 防止程序员在重写父类的函数时,把函数名写错。 如下代码: 1 #include <iostream> 2 3 using
阅读全文
摘要:final 字面上最终、最后、不可改变的意思,final 这个关键字在 Jave PHP C++中都有用到,其作用也基本一致。 C++中的 final 是C++11新增,他可以用来修饰类,让类无法被继承;或用来修饰类的虚函数,让虚函数在子类中不能被重写。 final 只能修饰 类 与 虚函数,无法修
阅读全文


浙公网安备 33010602011771号