564 字
3 分钟
Modern C++ 入门

截至目前,C++ 的最新正式标准为 C++23。

很多人对 C++ 的印象还停留在上个世纪。让我们先看一段遵循最新标准的“Hello World”:

import std; // 引入标准库模块
int main() {
std::print("Hello Modern C++\n");
}

这段代码是否让你感到既陌生又熟悉?它简洁得像 Python,却运行在 C++ 的原生性能之上。现代 C++ 早已告别了冗长的头文件、繁琐的 printf 以及笨重的 std::cout << ... << std::endl;。


这 4 行代码背后的进化#

1. import std; —— 模块化革命 (C++23)#

传统的 #include 采用的是“暴力”文本替换机制,编译器每次都要重复处理成千上万行的头文件代码,导致编译缓慢且容易引发宏污染。

  • 优势:import 导入的是预编译好的二进制模块,速度极快,且实现了完美的命名空间隔离。
  • 一劳永逸:仅需一行 import std; 即可按需获取几乎所有的标准库功能。

2. std::print —— 格式化输出的终极形态 (C++23)#

它解决了 printf 的类型不安全问题,也摒弃了 std::cout 繁琐的流操作语法。

  • 现代语法:采用基于 std::format 的占位符风格(类似 Python 的 f-string)。
  • 高性能:在提供类型安全检查的同时,其运行效率通常优于传统的流操作。

进阶技巧:自动换行的 println#

在上面的例子中,为了方便与 Python 对比,我们使用了 print() 并手动输入了 \n。

在实际工程实践中,更推荐使用 std::println()。它会自动在行末添加换行符,让代码逻辑与格式控制彻底解耦:

std::println("Hello Modern C++"); // 自动换行,告别 \n

结语#

Modern C++ 正在以前所未有的速度进化,变得日益简洁、安全且强大。

虽然本文展示的语法糖让它看起来像 Python,但在内核哲学上,Modern C++ 与 Rust 殊途同归。其核心的 RAII(资源获取即初始化) 机制、所有权模型(通过智能指针实现)以及 Range(范围语义),都在证明:C++ 依然是那个在极致性能与现代开发体验之间寻找完美平衡的王者。

Modern C++ 入门
https://www.messiah.icu/posts/modern-cpp-tutorial/
作者
Messiah
发布于
2026-03-21
许可协议
CC BY-NC-SA 4.0