cppreference.com是唯一靠谱的c++标准文档入口,因其实时同步iso标准,准确标注函数签名、模板参数、constexpr约束、废弃标记及各版本新特性,而本地chm或过时pdf多基于旧标准,缺失c++17/20/23内容且无版本标识。

直接用 cppreference.com,别信本地 CHM 或过时 PDF。它实时同步 ISO 标准,所有函数签名、模板参数、constexpr 约束、废弃标记([[deprecated]])、C++17/20/23 新特性都准确标注,比任何离线手册都可靠。
为什么 cppreference.com 是唯一靠谱的入口
本地 CHM(比如 TC2 或“C++库函数速查手册”)多数基于 C++11 甚至更早标准,std::filesystem 根本没收录,std::span、std::format 更是空白;而 cppreference 每个页面右上角明确标出支持起始版本(如 std::ranges::sort 标着 “C++20”),点击函数还能跳转到对应标准草案节号。你查 std::vector::emplace_back,它会清楚列出:哪些重载是 noexcept,哪些要求元素可移动,哪些在 C++17 后加了 [[nodiscard]] —— 这些细节,CHM 一个字都不会提。
查函数时最容易忽略的三个过滤动作
搜索框输入函数名后,别急着点第一个结果:
- 先看左侧导航栏是否展开“Template parameters”或“Constraints”,这决定你调用时能不能传
std::string_view或自定义类型 - 检查“Return value”段落末尾有没有“Complexity: linear in …”,避免在 hot path 里误用
std::map::count而不是std::unordered_map::count - 翻到页面最底下“See also”部分,常藏着关键替代方案,比如查
std::find会提示std::ranges::find(C++20)和std::search(子序列查找)
遇到编译错误时怎么反向查文档
比如报错 error: no matching function for call to 'std::stoi',不要去搜“stoi 怎么用”,而是复制完整错误信息,粘贴进 cppreference 搜索框 —— 它会自动匹配到 std::stoi 页面,并高亮显示你漏掉的参数(比如忘了传 nullptr 给 idx 参数,或传了 long 当 int*)。再比如看到 static_assert failed due to requirement 'is_same_v<t int>'</t>,直接搜 is_same_v,页面立刻告诉你这个变量模板从 C++17 引入,且要求头文件 <type_traits></type_traits>。
真正卡住的从来不是“找不到函数”,而是“没看清约束条件”。cppreference 上每个函数的 Constraints 和 Remarks 段落,才是你该逐字读完的地方。
C++免费学习笔记(深入):立即使用
在学习笔记中,你将探索 C++ 的入门与实战技巧!











