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/