531 日 , 2025 16:18:46
C++头文件

在 C++ 中,常用的头文件根据不同的算法需求可以分为以下几类:

1. 通用头文件

这些头文件几乎在所有算法中都会用到:

  • #include <iostream>:用于输入输出操作。
  • #include <vector>:动态数组容器。
  • #include <string>:字符串操作。
  • #include <algorithm>:常用算法(如排序、查找等)。
  • #include <cmath>:数学函数(如开方、幂运算等)。
  • #include <limits>:获取数据类型的最大值和最小值。

2. 数据结构相关头文件

  • #include <array>:静态数组容器。
  • #include <deque>:双端队列。
  • #include <list>:双向链表。
  • #include <stack>:栈。
  • #include <queue>:队列和优先队列。
  • #include <set>:集合(有序集合)。
  • #include <unordered_set>:无序集合。
  • #include <map>:映射(有序键值对)。
  • #include <unordered_map>:无序映射。

3. 算法与随机数

  • #include <numeric>:数值算法(如累加、内积等)。
  • #include <random>:随机数生成。
  • #include <functional>:函数对象和绑定器。
  • #include <bitset>:位操作。

4. 输入输出优化

  • #include <ios>:流操作的基础。
  • #include <iomanip>:格式化输入输出。
  • #include <fstream>:文件输入输出。

5. 多线程与时间

  • #include <thread>:多线程支持。
  • #include <mutex>:互斥锁。
  • #include <chrono>:时间操作。

6. 其他常用头文件

  • #include <cassert>:断言,用于调试。
  • #include <tuple>:元组。
  • #include <utility>:工具函数(如 std::pair)。
  • #include <iterator>:迭代器工具。

这些头文件可以根据具体需求选择性地包含,避免不必要的编译开销。

316 日 , 2025 22:40:51
字符串输入
string s;
//输入不带空格的字符串
cin>>s;
//输入带空格的字符串
getline(cin,s);
//c语言输入带空格的字符串
char str[100]
scanf("[^\n]",str);
get(str)