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;
}


C++编程语言基础

C++常用的头文件