“Hello World” in C++23
import std; auto main() -> int { std::println("Hello world!"); } 随着 Modules 和 Formatting Library 顺利进入 C++20,标准库 Modules 和 Formatted output 进入 C++23 不过是水到渠成。这种先引入再扩展的标准发展方式在 C++ 中已不稀奇,这两个新特性自然也就成为 C++23 中主要的特性之二。 C++2a 之后,Ranges, Modules, Concepts, Coroutines, 以及将要引入的新特性,都将会在一定程度上改变我们以往的编译方式。而这一切的基础,都在于新特性是否足够完善。三年一小步,六年一大步,此之谓也。 由经典的入门代码,可以看到,C++俨然成为了一门新语言。越现代,越强大,这种使用方式以后可能会越发流行。因为不论是性能还是可用性,新特性都更具有优势。 首先是标准库 Modules。 Modules 具有缩短编译时间、解决重复替换、导入顺序无关,以及无需分离接口与实现等等优势,若标准库迟迟不提供 Modules 版本,反而会阻碍 Modules 的发展。因此,标准库Modules的优先级并不低,进标准也是顺理成章。 其次是Formatted output。 用过 fmt 库的都清楚,这可是个好东西,或者可以说是 cout 终结者。… Continue Reading “Hello World” in C++23