大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
1. STL介绍
STL是Standard Template Library的缩写,即标准模板库。之前在写 Templates 模板的时候,提到过STL对于模板的应用。STL是由多个模板类构成,能够为开发者提供通用的数据结构和算法。
STL主要包含以下内容:
- 容器 Container:用来管理某一类对象的集合。
- vector(可扩展的单向数组)
- deque(可扩展的双向数组)
- list (双向列表)
- sets(无序集合)
- maps:<Key, Value>
- 算法 Algorithm:对容器的内容执行初始化、排序、分类和搜索等操作。
- 迭代器 Iterators:用于遍历对象集合的元素。
STL能给我们带来哪些帮助呢?
- 减少开发时间。轮子已经被验证过了,学会使用轮子能大大节省开发时间。
- 提高代码可读性。使用同一个轮子能让同行更快读懂你的代码。
- 提高程序健壮性。STL的数据结构是自动增长的。
- 提高可移植性,可维护性等。
2. vector 示例
一个简单的vector示例:创建int类型的向量,并实现初始化、赋值和打印操作。
#include <iostream>
#include <vector>
using namespace std;
int main()
{
cout << "vector example:" << endl;
// 创建一个int类型向量 x
vector<int> x;
// 创建一个包含100个元素的int类型向量 y
vector<int> y(100);
// 输出vector x的初始大小
cout << "vector x size = " << x.size() <<endl;
// 输出vector y的初始大小
cout << "vector y size = " << y.size() <<endl;
// 为向量x的前10个元素赋值
for (int a = 0; a < 10; a++)
x.push_back(a); // 在vector最后插入元素
// 输出vector y扩展后的大小
cout << "vector x size = " << x.size() <<endl;
vector<int>::iterator p; // 使用迭代器访问 x 的值
cout << "all elements in x: ";
for (p = x.begin(); p < x.end(); p++)
cout << *p << " "; //依次输出每一个元素的值
cout << endl;
// 删除vector中第4个元素
vector<int>::iterator pp = (x.begin()+3);
cout << "before erase ";
cout << "vector x[4] = " << *pp << endl;
x.erase(pp);
cout << "after erase ";
cout << "vector x[4] = " << *pp << endl;
return 0;
}
输出结果:
从上边的例子可以体现出vector的健壮性,vector是一个动态的数组模板,可以在程序运行过程中高效地添加或者删除元素,为程序设计提供了很大的灵活性。
最后,关于STL还有很多细节,待续吧。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/183933.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...