阅读量:3
在Linux环境下使用C++ STL(Standard Template Library,标准模板库)主要涉及以下几个步骤:
1. 安装C++编译器
确保你的Linux系统上安装了C++编译器,通常是g++。你可以使用以下命令来安装它:
sudo apt update
sudo apt install g++
2. 创建C++源文件
使用文本编辑器创建一个新的C++源文件,例如main.cpp。
#include
#include
#include
int main() {
std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
// 使用STL算法排序
std::sort(vec.begin(), vec.end());
// 输出排序后的向量
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
3. 编译C++程序
使用g++编译器编译你的C++程序。在终端中运行以下命令:
g++ -o myprogram main.cpp
这会生成一个名为myprogram的可执行文件。
4. 运行程序
在终端中运行生成的可执行文件:
./myprogram
你应该会看到输出:
1 1 2 3 3 4 5 5 5 6 9
常用的STL容器和算法
容器
- vector: 动态数组
- list: 双向链表
- deque: 双端队列
- stack: 栈
- queue: 队列
- priority_queue: 优先队列
- map: 关联数组(红黑树实现)
- unordered_map: 哈希表实现的关联数组
- set: 集合(红黑树实现)
- unordered_set: 哈希表实现的集合
算法
- sort: 排序
- search: 查找
- count: 计数
- find: 查找元素
- transform: 转换元素
- for_each: 对每个元素执行操作
示例:使用map和set
#include
#include
#include
int main() {
std::mapint> ageMap = {{"Alice", 30}, {"Bob", 25}, {"Charlie", 35}};
std::set<int> uniqueAges;
// 将map中的年龄插入到set中
for (const auto& pair : ageMap) {
uniqueAges.insert(pair.second);
}
// 输出set中的元素
for (int age : uniqueAges) {
std::cout << age << " ";
}
std::cout << std::endl;
return 0;
}
编译并运行这个程序:
g++ -o myprogram main.cpp
./myprogram
输出:
25 30 35
通过这些步骤和示例,你应该能够在Linux环境下熟练使用C++ STL。
以上就是关于“C++ Linux环境中如何使用STL”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm