使用 STL 的好处

简介: 使用 STL 的好处

1)STL 是 C++ 的一部分,因此不用额外安装什么,它被内建在你的编译器之内。


2)STL 的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但是这种分离确实使得 STL 变得非常通用。 例如,在 STL 的 vector 容器中,可以放入元素、基础数据类型变量、元素的地址;STL 的 sort() 函数可以用来操作 vector,list 等容器。


3) 程序员可以不用思考 STL 具体的实现过程,只要能够熟练使用 STL 就 OK 了。这样他们就可以把精力放在程序开发的别的方面。


4) STL 具有高可重用性,高性能,高移植性,跨平台的优点。


高可重用性:STL中几乎所有的代码都采用了模板类和模版函数的方式实现,这相比于传统的由函数和类组成的库来说提供了更好的代码重用机会。关于模板的知识,已经给大家介绍了。


高性能:如map可以高效地从十万条记录里面查找出指定的记录,因为map是采用红黑树的变体实现的。(红黑树是平横二叉树的一种)


高移植性:如在项目A上用STL编写的模块,可以直接移植到项目 B 上。


跨平台:如用 windows 的 Visual Studio 编写的代码可以在 Mac OS 的 XCode 上直接编译。


5) 程序员可以不用思考 STL 具体的实现过程,只要能够熟练使用 STL 就 OK 了。这样他们就可以把精力放在程序开发的别的方面。 6)了解到 STL 的这些好处,我们知道 STL 无疑是最值得 C++ 程序员骄傲的一部分。每一个 C++ 程序员都应该好好学习 STL。只有能够熟练使用 STL 的程序员,才是好的 C++ 程序员。


7)总之:招聘工作中,经常遇到 C++ 程序员对 STL 不是非常了解。大多是有一个大致的映像,而对于在什么情况下应该使用哪个容器和算法都感到比较茫然。STL 是 C++ 程序员的一项不可或缺的基本技能,掌握它对提升 C++ 编程大有裨益。


相关文章
|
10天前
|
存储 C++ 容器
C++STL(标准模板库)处理学习应用案例
【4月更文挑战第8天】使用C++ STL,通过`std:vector`存储整数数组 `{5, 3, 1, 4, 2}`,然后利用`std::sort`进行排序,输出排序后序列:`std:vector<int> numbers; numbers = {5, 3, 1, 4, 2}; std:sort(numbers.begin(), numbers.end()); for (int number : numbers) { std::cout << number << " "; }`
17 2
|
1月前
|
C++ 容器
【C++】程序题( STL标准模板库)
【C++】程序题( STL标准模板库)
25 0
【C++】程序题( STL标准模板库)
|
3月前
|
C++
STL测试
STL测试
|
4月前
|
C++ 容器
【C++】STL容器——探究不同 [ 迭代器 ] 种类&在STL中的使用方式(15)
【C++】STL容器——探究不同 [ 迭代器 ] 种类&在STL中的使用方式(15)
|
6月前
|
存储 算法 编译器
C++ 泛型编程与STL技术
模板的概念 模板就是建立通用的模具,大大提高复用性 例如生活中的模板 一寸照片模板: PPT模板: 模板的特点: 模板不可以直接使用,它只是一个框架 模板的通用并不是万能的 函数模板 C++另一种编程思想称为 泛型编程 ,主要利用的技术就是模板 C++提供两种模板机制:函数模板和类模板 函数模板语法 函数模板作用: 建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。 语法: template<typename T> 函数声明或定义 1 2 解释: template — 声明创建模板 typename — 表面其后面的符号是一
29 0
|
9月前
|
存储 C++ 容器
STL空间配置器框架分析
STL空间配置器框架分析
59 0
|
9月前
|
算法 Linux 编译器
【c++ • STL】初步认识什么是 STL 标准库
【c++ • STL】初步认识什么是 STL 标准库
80 1
BXA
|
11月前
|
存储 算法 搜索推荐
深入探究C++中的STL
Standard Template Library:标准模板库 是一个基于泛型的C++类模板库由Alexander Stepanov于1994年开发 其目的是为了提供一致通用和高效的数据结构和算法,同时不限制用户所处理的数据类型和编程范式。STL的原型最初由Andrew Koenig和其它C++专家小组进行设计并在1995年C++标准委员会的推荐下成为C++标准库的一部分
BXA
96 1
|
11月前
|
NoSQL Redis
一日一技:如何通过迭代器精简你的代码
一日一技:如何通过迭代器精简你的代码
49 0
|
12月前
|
存储 算法 程序员
C++STL学习笔记(第一篇:stl是什么?为什么要学习stl?迭代器在stl中扮演着什么角色?)
C++STL学习笔记(第一篇:stl是什么?为什么要学习stl?迭代器在stl中扮演着什么角色?)
256 0