C++ 标准库概述

C++ 标准库概述

C++ 标准库(Standard Library)是一组核心功能模块的集合,包含容器、算法、迭代器、字符串处理、输入/输出等功能。它基于模板实现,与 C++ 语言紧密集成,是开发高效、可移植程序的基础工具。


主要组成部分

标准模板库(STL)

STL 提供以下核心组件:

  • 容器 :如 vectorlistmapunordered_set,用于数据存储。
  • 算法 :如 sortfindtransform,作用于容器或迭代器范围。
  • 迭代器 :如 begin()end(),提供对容器的统一访问接口。
字符串处理

std::stringstd::wstring 类支持动态字符串操作,包括拼接、查找、替换等。

输入/输出(I/O)
  • <iostream>:提供 cincoutcerr 等标准流。
  • <fstream>:支持文件读写(ifstreamofstream)。
智能指针

std::unique_ptrstd::shared_ptr 等用于自动化资源管理,避免内存泄漏。

多线程支持(C++11 起)

<thread><mutex><atomic> 等库支持并发编程。


常用代码示例

容器与算法
cpp 复制代码
#include <vector>
#include <algorithm>
#include <iostream>

int main() {
    std::vector<int> nums = {3, 1, 4, 1, 5};
    std::sort(nums.begin(), nums.end()); // 排序
    for (int num : nums) {
        std::cout << num << " ";
    }
    return 0;
}
字符串操作
cpp 复制代码
#include <string>
#include <iostream>

int main() {
    std::string str = "Hello";
    str += " C++";
    std::cout << str.substr(0, 5); // 输出 "Hello"
    return 0;
}
文件读写
cpp 复制代码
#include <fstream>
#include <string>

int main() {
    std::ofstream file("example.txt");
    file << "Writing to a file.\n";
    file.close();
    return 0;
}

版本演进

  • C++98/03:初始标准,包含 STL 基础功能。
  • C++11:引入智能指针、多线程库、移动语义等。
  • C++17 :新增 std::optionalstd::filesystem 等。
  • C++20:加入范围(Ranges)、协程(Coroutines)等特性。

学习资源

  • 官方文档cppreference.com
  • 书籍:《The C++ Standard Library》(Nicolai M. Josuttis)
  • 实践:通过项目或在线编程平台(如 LeetCode)练习标准库的使用。
相关推荐
kruptos4 小时前
分布式系统怎么“选主“?Raft 共识一次讲清
开发语言·分布式·php·共识算法
吴声子夜歌4 小时前
ApacheCommons——commons-cli(命令行参数解析)
java·开发语言·apache
benchmark_cc5 小时前
REST API 和 Python SDK 应该怎么选?量化交易数据接口选型实战
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
王的宝库5 小时前
Go 项目结构:从单文件到标准工程布局
开发语言·后端·golang
Tairitsu_H5 小时前
[C++] 深入理解红黑树:封装set与map
开发语言·c++·set·map·红黑树·模拟实现
泡海椒5 小时前
JQuick-Curl 性能分析:并发场景下的性能表现与调优,第三方接口调用不只要快写也要稳跑
java·开发语言·okhttp
小智老师PMP5 小时前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理
HugoStudio_SWAN5 小时前
洛谷 B4450 / B3867 / B3923 智慧购物、储蓄与做题——从程序到生活
c++·学习·程序人生·算法·生活
江畔柳前堤6 小时前
前台·中台·后台:2026年AI原生时代的架构全景图
开发语言·人工智能·算法·机器学习·架构·scala·ai-native
Figo_Cheung7 小时前
Figo基于RNC理论的宇宙演化第七纪元猜想
开发语言·php