iostream、fstream、sstream、string、vector、unordered_map、stack

iostream

用于输入输出操作,包含了处理标准输入输出流的功能(例如,cin, cout, cerr等)。

cpp 复制代码
#include <iostream>

int main() {
    int number;
    std::cout << "Enter a number: ";
    std::cin >> number;
    std::cout << "You entered: " << number << std::endl;
    return 0;
}

fstream

用于文件的读写操作。它提供了ifstream(用于读取文件),ofstream(用于写入文件),和fstream(可以同时用于读写文件)类。

cpp 复制代码
#include <fstream>
#include <iostream>

int main() {
    std::ofstream outfile("example.txt");
    outfile << "Hello, world!" << std::endl;
    outfile.close();
    
    std::ifstream infile("example.txt");
    std::string line;
    while (getline(infile, line)) {
        std::cout << line << std::endl;
    }
    infile.close();
    return 0;
}

sstream

用于字符串的流操作。主要提供了istringstream(从string读取数据),ostringstream(向string写入数据),和stringstream(可用于读写string)类。

cpp 复制代码
#include <sstream>
#include <iostream>

int main() {
    std::stringstream ss;
    ss << 100 << ' ' << 200;
    int foo, bar;
    ss >> foo >> bar;
    std::cout << foo << ", " << bar << std::endl;
    return 0;
}
cpp 复制代码
        while (getline(inputFile, line)) {
            stringstream ss(line);
            string token;
            vector<string> tokens;
            while (ss >> token) {
                tokens.push_back(token);
            }

string

提供了字符串处理功能,包括定义和操作std::string类型的对象。

cpp 复制代码
#include <string>
#include <iostream>

int main() {
    std::string str = "Hello, world!";
    std::cout << str << std::endl;
    return 0;
}

vector

实现了动态数组的功能,可以存储任意类型的对象,并且可以动态增长和缩小。

cpp 复制代码
#include <vector>
#include <iostream>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};
    for(int i : vec) {
        std::cout << i << ' ';
    }
    std::cout << std::endl;
    return 0;
}

unordered_map

提供了一种通过键来快速访问元素的方式,基于哈希表实现。它允许快速插入、删除和查找操作。

cpp 复制代码
#include <unordered_map>
#include <iostream>

int main() {
    std::unordered_map<std::string, int> map;
    map["one"] = 1;
    map["two"] = 2;
    std::cout << map["one"] << std::endl;
    return 0;
}

stack

实现了栈的数据结构,提供了后进先出(LIFO)的数据管理方式。

cpp 复制代码
#include <stack>
#include <iostream>

int main() {
    std::stack<int> stack;
    stack.push(1);
    stack.push(2);
    std::cout << stack.top() << std::endl;  // 查看栈顶元素
    stack.pop();                            // 移除栈顶元素
    std::cout << stack.top() << std::endl;
    return 0;
相关推荐
学嵌入式的小杨同学几秒前
顺序表(SqList)完整解析与实现(数据结构专栏版)
c++·算法·unity·游戏引擎·代理模式
格林威1 分钟前
多光源条件下图像一致性校正:消除阴影与高光干扰的 6 个核心策略,附 OpenCV+Halcon 实战代码!
人工智能·数码相机·opencv·算法·计算机视觉·分类·视觉检测
iAkuya3 分钟前
(leetcode)力扣100 40二叉树的直径(迭代递归)
java·算法·leetcode
橘颂TA9 分钟前
【剑斩OFFER】算法的暴力美学——leetCode 103 题:二叉树的锯齿形层序遍历
算法·leetcode·结构与算法
2501_901147839 分钟前
高性能计算笔记:灯泡开关问题的数学优化与常数级解法
笔记·算法·求职招聘
C_心欲无痕10 分钟前
JavaScript 常见算法与手写函数实现
开发语言·javascript·算法
CoovallyAIHub15 分钟前
YOLO26正式亮相!极致速度优化,为落地而生!
深度学习·算法·计算机视觉
视觉震撼23 分钟前
为大型语言模型(LLM)自动化知识图谱流水线:2026年手册
人工智能·算法·机器学习
随意起个昵称23 分钟前
【二分做题笔记】组装玩具
笔记·算法
Lips61124 分钟前
2026.1.13力扣刷题笔记
笔记·算法·leetcode