一、STL简介通过刷题感受到了C++中STL的妙用,十分的想要提高自己对于STL的理解以及运用能力,因此开设此专栏,并希望能够带领大家一起感受C++中STL的魅力。
二、初识STLSTL(标准模板库,Standard Template Libarary)。身位C++标准库的重要组成部分,STL(标准模板库)是一个 可复用的组件库 ,也是一个保罗算法和数据结构的软件框架。
其中包括了算法(algorithm)、容器(container)、迭代器(iterator)。
在LeetCode刷题过程中,想必点开过C++语言的模板的同学都会见过STL中的容器技术的内容比如vector
string
,这些都是容器。
给一些从C语言转入C++的同学稍微介绍一下,在之后的阅读过程中我也会重新记录阅读体会与总结,所以已经可以使用C++刷题的同学可以跳过这一部分内容。
简单的介绍一下vector
容器,这样C的同学就可以用vector
容器去刷一些数组的题了:
vector
容器的底层可以理解为数组,在我们使用的时候 vector
这样定义一个变量(也叫创建对象,vector
就是一个类,不理解类的概念的同学可以把它当做C语言中的结构体,不过可以在其中写函数)。
好了,之前已经说过可以把vector
容器理解为一个数组那么我就看一下下面这段代码:
#include
#include //使用vector容器需要包含此头文件
using namespace std;
int main(){
//这样
vector<int> vec(10);//这里和创建数组无异,注意是小括号,尖括号中是数据类型
for(int i=0;i<vec.size();++i){//vec.size()是vector这个类中自带的求数组大小的函数
int a;
cin>>a;
vec[i]=a;
}
//或者
vector<int> nums;
int a;
while(cin>>a){
nums.push_back(a);//vector容器下的函数,push_back方法,将push_back中传入的实参增加到容器的末尾
}
return 0;
}
根据我所写的注释,可以简单的了解vector
容器作为数组的特性,以及自带的两个函数,使用这些,就可以使用C语言的写法在C++模板中对数组的题进行刷题了。
英文术语 | 大陆惯用译法 | 本书译法 |
---|---|---|
adapter | 适配器 | 配接器 |
argument | 实参(实质参数) | 引数 |
by reference | 传参考,传地址 | 传址 |
by value | 传值 | 传值 |
dereference | 反引用,解参考(解引用) | 提领 |
evaluate | 评估,计算 | 评估,核定 |
instance | 案例,实例 | 实体 |
instantiated | 实例化 | 实体化,具体化 |
library | 库,函数库 | 程序库 |
range | 范围 | 区间(使用于STL时) |
resolve | 解析 | 决议 |
parameter | 形参(形式参数) | 参数 |
type | 类型 | 型别 |
这本书不适合C++初学者,不适合泛型技术初学者,或STL初学者,也不适合带领你学习OOP技术,STL和OOP并无什么联系。
想要学习STL的同学可以和我一起阅读此书,若是C语法基础仍然吃力,建议先学习其它内容,待学成归来再来看本专栏,必会受益匪浅。
可到英雄哥星球(暂时不招人了)获取本书电子版,有能力的同学建议购买正版书籍。
本专栏适合想要深入学习STL的同学,并且可以提高个人对于数据结构、算法等的编码能力。
好了接下来就让我们正式进入学习吧!欢迎分享,转载请注明来源:内存溢出
评论列表(0条)