GCC 支持 C++23 std::print 吗?

问题描述 投票:0回答:3

在 CppCon 2022 上宣布,C++ 语言的新官方 HelloWorld 现已发布:

#include <print>

int main() {
 std::print("Hello world\n");
 return 0;
}

你知道 std::print 在 GCC 中可用吗?也许它需要一些标志或额外的库来激活?

描述链接https://en.cppreference.com/w/cpp/io/print

c++ gcc printing std c++23
3个回答
0
投票

你知道吗,

std::print
在GCC中可用吗?也许它需要一些标志 或额外的库来激活?

没有。

根据cppreference,目前只有Clang-17和MSVC-19.37实现了该论文P2093


0
投票

C++ 功能的状态通过其功能测试宏进行跟踪。 cppreference.com 列出了这些内容,很有帮助。对于

__cpp_lib_print
__cpp_lib_format
,它们分别是
print
format

然后您可以在GCC 中的 C++ 标准支持libstdc++ 的实现状态中搜索这些宏。现在您会发现没有提及

__cpp_lib_print
,而
__cpp_lib_format
已列出但尚未实施。所以答案是否定的。

您可以使用 C++ 的功能测试工具检查您自己的编译器。像 godbolt.org 这样的在线编译器是测试大多数主流编译器的快速方法。


0
投票

否,这里是 GCC 和其他编译器的 C++23 功能可用性列表。

© www.soinside.com 2019 - 2024. All rights reserved.