您的位置:首页 > 编程语言 > C语言/C++

[置顶] C++_STL基础易学教程_【ORZ式教学】

2018-03-19 17:41 411 查看

在讲STL之前,首先来引入C plus plus (c++)

浅谈c++的优点:

1.输入输出流:输入输出基本类型的数据时,可以不必考虑数据是什么类型,系统会判断数据的类型并根据其类型选择调用与之匹配的运算符重载函数。这个过程都是自动的,用户不必干预。如果在C语言中用prinf函数输出不同类型的数据,必须分别指定相应的输出格式符,十分麻烦,而且容易出错。

2.变量的定义可以在for循环里定义,就好比for(int i=1;i<=10;i++)。但是i变量只有在这个for循环里有效。

3.字符串:之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。这时候,我们必须包含头文件 。

4.强大的标准模板库STL:C++标准库的内容总共在50个标准头文件中定义。在C++编程中,要尽可能地利用标准库完成。这样做的直接好处包括:

(1)成本:已经作为标准提供,何苦再花费时间、人力重新开发呢;

(2)质量:标准库的都是经过严格测试的,正确性有保证;

(3)效率:关于人的效率已经体现在成本中了,关于代码的执行效率要相信实现标准库的大牛们的水平;

(4)良好的编程风格:采用行业中普遍的做法进行开发。

好,下面步入正题。

STL的代码从广义上讲分为三类:algorithm(算法)、container(容器)和iterator(迭代器),几乎所有的代码都采用了模板类和模版函数的方式,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。

首先把string(字符串)普及一下

点击下面链接即可查看详情:

STL_字符串_【string】

字符流【stringstream|sscanf|sprintf】

algorithm(算法):

点击下面链接即可查看详情:

STL_排序_【sort】

STL_二分_【binary_search、upper_bound、lower_bound】

container(容器):

点击下面链接即可查看详情:

STL_动态数组_【vector】

STL_映射_【map】

STL_集合_【set】

STL_栈_【stack】

STL_队列_【queue、priority_queue】

iterator(迭代器)

迭代器在容器中的使用都有体现哦~

如果你看了我的博客有所收获,别忘了给博主点个红灿灿的赞哟(●’◡’●)

如果有错误,还请读者指正!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: