c++23的std::print简单示例


介绍

cpp23中加入了一个标准库std::print,类似python中的print。据说不是基于std::cout,性能应该有保障。

支持的编译器

目前只有msvc支持了这一标准库。在2023/05/17发布的vs2022 17.7.0 preview1中,加入了相关代码

示例

1import std;
2
3int main() {
4 std::vector test{ 10, 2, 3 };
5 std::ranges::sort(test);
6 for (auto const& [index, value] : std::ranges::enumerate_view(test)) {
7 std::println("index = {}, val = {}", index, value);
8 }
9 return 0;
10}

输出

1index = 0, val = 2
2
3index = 1, val = 3
4
5index = 2, val = 10

看起来不错

看起来有点pythonic