C++常用的头文件
C++常用的头文件及其包含的主要内容:
1. <iostream>
用于输入/输出操作。包含了标准输入流对象std::cin和标准输出流对象std::cout,以及流插入运算符(<<)和流提取运算符(>>)等相关内容。还包含std::cerr(标准错误输出流)和std::clog(标准日志流)。
2. <fstream>
用于文件输入/输出操作。可以使用std::ifstream(用于从文件读取数据)、std::ofstream(用于向文件写入数据)和std::fstream(用于读写文件)等类来操作文件。例如:
#include <fstream> int main() { std::ofstream outfile("example.txt"); if (outfile.is_open()) { outfile << "Hello, World!" << std::endl; outfile.close(); } return 0; }
3. <string>
定义了std::string类,用于处理字符串。它提供了很多操作字符串的方法,如字符串的拼接、查找、替换等。例如:
#include <string> int main() { std::string str = "Hello"; str += " World"; std::cout << str << std::endl; return 0; }
4. <vector>
提供了std::vector类,这是一个动态大小的数组容器。可以方便地进行元素的添加、删除、访问等操作。例如:
#include <vector> int main() { std::vector<int> v; v.push_back(1); v.push_back(2); std::cout << v[0] << " " << v[1] << std::endl; return 0; }
5. <list>
包含std::list类,这是一个双向链表容器。适用于需要频繁在链表中间进行插入和删除操作的场景。例如:
#include <list> int main() { std::list<int> l; l.push_back(1); l.push_front(0); for (auto it = l.begin(); it!= l.end(); ++it) { std::cout << *it << " "; } return 0; }
6. <map>
定义了std::map类,这是一个关联容器,以键 - 值对(key - value)的形式存储数据,基于红黑树实现,方便根据键快速查找值。例如:
#include <map> int main() { std::map<int, std::string> m; m[1] = "One"; m[2] = "Two"; std::cout << m[1] << " " << m[2] << std::endl; return 0; }
7. <set>
包含std::set类,这是一个集合容器,存储唯一元素,基于红黑树实现。例如:
#include <set> int main() { std::set<int> s; s.insert(1); s.insert(2); for (auto it = s.begin(); it!= s.end(); ++it) { std::cout << *it << " "; } return 0; }
8. <algorithm>
提供了大量的通用算法,如std::sort(用于排序)、std::find(用于查找元素)等。这些算法可以作用于各种容器。例如:
#include <algorithm> #include <vector> int main() { std::vector<int> v = {3, 1, 4, 1, 5, 9}; std::sort(v.begin(), v.end()); for (auto num : v) { std::cout << num << " "; } return 0; }
9. <cmath>
包含了各种数学函数,如std::sqrt(计算平方根)、std::sin(正弦函数)、std::cos(余弦函数)等。例如:
#include <cmath> int main() { double num = 16.0; double result = std::sqrt(num); std::cout << result << std::endl; return 0; }