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;
相关推荐
盼海1 小时前
排序算法(六)--堆排序
java·算法·排序算法
叫我:松哥1 小时前
基于python flask的网页五子棋实现,包括多种语言,可以悔棋、重新开始
开发语言·python·算法·游戏·flask
陈序缘1 小时前
Rust 力扣 - 198. 打家劫舍
开发语言·后端·算法·leetcode·rust
凭君语未可1 小时前
豆包MarsCode算法题:三数之和问题
java·算法
苏言の狗2 小时前
CCF认证202406-01 | 矩阵重塑(其一)
c语言·数据结构·c++·算法·矩阵
@大嘴巴子2 小时前
从入门到精通数据结构----四大排序(上)
数据结构·算法·排序算法
_GR2 小时前
每日OJ_牛客_游游的字母串_枚举_C++_Java
java·数据结构·c++·算法·哈希算法
因特麦克斯3 小时前
每日一题&智能指针
数据结构·算法·leetcode
蹉跎x3 小时前
力扣104. 二叉树的最大深度
算法·leetcode·职场和发展
gaogao_jack3 小时前
[Leetcode小记] 3233. 统计不是特殊数字的数字数量
java·算法·leetcode