C++ STL(Standard Template Library)是 C++ 标准库的一部分,提供了一组通用的模板类和函数,包括各种常用数据结构和算法,可以大大简化 C++ 程序的编写。
在 C++ 中,STL 是一种基于模板的编程方式,可以快速地实现各种数据结构和算法,并且具有高度的可重用性和可扩展性。STL 中包含了许多常用的容器和算法,可以在开发过程中快速地进行应用。
STL 中常用的容器包括 vector、list、set、map 等,它们分别对应了动态数组、双向链表、集合、映射等数据结构。其中,vector 是最常用的容器之一,可以用于存储任意类型的元素,它的大小可以动态增长。
例如,定义一个存储 int 类型元素的 vector 可以如下所示:
#include <vector>
using namespace std;
vector<int> nums;
使用 push_back 方法可以向 vector 中添加元素,使用 size 方法可以获取 vector 的大小:
nums.push_back(1);
nums.push_back(2);
nums.push_back(3);
int size = nums.size(); // size 的值为 3
STL 中的算法包括排序、查找、复制、删除等等,它们可以直接应用于 STL 容器中。比如,使用 sort 算法对一个 vector 进行升序排序:
sort(nums.begin(), nums.end());
除了容器和算法,STL 还提供了迭代器、函数对象、适配器等辅助工具,可以帮助开发者更方便地处理数据。例如,可以使用迭代器遍历 vector:
for (vector<int>::iterator it = nums.begin(); it != nums.end(); it++) {
cout << *it << " ";
}
另外,STL 中的 string 类也是常用的数据类型之一,它封装了字符串的操作,提供了许多便捷的方法。例如,创建一个 string 对象并赋值:
#include <string>
using namespace std;
string str = "hello world";
可以使用下标操作符访问字符串中的字符:
char ch = str[0]; // 获取第一个字符 'h'
也可以使用成员函数获取字符串的长度、子串等信息:
int len = str.length(); // 获取字符串长度
string sub = str.substr(0, 5); // 获取从下标为 0 开始、长度为 5 的子串
以上就是 C++ STL 简介及 string 的使用方法。在实际开发中,熟练掌握 STL 的使用可以大大提高代码的效率和可读性,同时也可以更方便地处理各种数据结构和算法。