c++ 网站 · 今日精选

今天下午编译了七次。第七次才通过。

一条链接没关掉的警告,藏了三个小时。

模板偏特化没写对,gcc 报错指向了标准库
Bjarne 在 2018 年 CppCon 提到的 RAII 例子,我重写了一遍
clang-tidy 的 readability-identifier-length 配置笔记
《Effective Modern C++》第 23 条,读了四遍
一个 std::string_view 悬垂指针,花了两个小时定位
std::format 在 GCC 13 上终于能用了
concept 写起来像写注释,但编译器会检查
Rust 的所有权 vs C++ 的析构函数,一张表
《C++ 程序设计语言》第 4 版,第 12 章读了两天
CMake 3.28 的 CXX_MODULES 支持,试了一个小项目

我叫陈默。写 C++ 八年。

在杭州一家做嵌入式设备的公司上班,白天写驱动,晚上写自己的小工具。

这个站是我从 2023 年开始记的笔记。不追热点,不写教程。只记那些我真实踩过、查过、想过的东西。

为什么做?因为网上太多“五分钟学会 C++”的页面。我想留一个地方,写五分钟学不会的部分。

“C++ 的设计目标,是让程序员不必为了效率而放弃抽象。”

—— Bjarne Stroustrup,A History of C++: 1979–1991

今天这篇,写的是那个悬垂指针。

代码在 Mac 上跑得好好的,到了 Ubuntu 22.04 上,段错误。

原因很简单:返回了局部 std::string 的 string_view。

修了之后,我加了一行 static_assert 没关系。但还是加了一行注释。

说实话,我不觉得 string_view 适合暴露在接口里。这是个人观点。

它快,但不安全。快不等于对。

作者:陈默 发布于 2026-06-11