温馨提示×

C++ Linux中如何使用STL

小樊
60
2025-07-04 00:39:08
栏目: 编程语言

在Linux环境下使用C++ STL(Standard Template Library,标准模板库)主要涉及以下几个步骤:

1. 安装编译器

确保你的Linux系统上安装了支持C++11及以上标准的编译器,如g++

sudo apt update sudo apt install g++ 

2. 编写C++代码

创建一个.cpp文件,例如main.cpp,并在其中编写使用STL的代码。

#include <iostream> #include <vector> #include <algorithm> 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. 编译代码

使用g++编译你的C++代码。确保启用C++11或更高版本的支持。

g++ -std=c++11 -o my_program main.cpp 

4. 运行程序

编译成功后,运行生成的可执行文件。

./my_program 

常用的STL容器和算法

容器

  • vector: 动态数组
  • list: 双向链表
  • deque: 双端队列
  • stack: 栈
  • queue: 队列
  • priority_queue: 优先队列
  • map: 关联数组(红黑树实现)
  • unordered_map: 哈希表实现的关联数组
  • set: 集合(红黑树实现)
  • unordered_set: 哈希表实现的集合

算法

  • sort: 排序
  • search: 查找
  • count: 计数
  • find: 查找元素
  • unique: 去重
  • reverse: 反转
  • transform: 转换
  • for_each: 对每个元素执行操作

示例:使用mapset

#include <iostream> #include <map> #include <set> int main() { std::map<std::string, int> ageMap = {{"Alice", 25}, {"Bob", 30}, {"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; } 

总结

通过以上步骤,你可以在Linux环境下轻松使用C++ STL。STL提供了丰富的容器和算法,能够大大提高编程效率和代码的可读性。不断实践和探索STL的各种功能,将有助于你更好地掌握C++编程。

0