You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何C++23及fmt库不支持无需格式串的print(ln)?能否新增该特性?

关于C++23 <print> 简化单值打印的疑问

我平时写代码经常需要向终端打印值,十分青睐C++23的<print>功能,常用写法如下:

std::println("{}", value);

但仅需打印值本身时,该语法过于冗余,我更希望使用简洁写法:

std::println(value);

遗憾的是C++目前不支持该写法,我想了解背后的原因,同时想知道:

  • C++标准或fmt库是否已有这类功能,或是未来会推出相关选项?
  • 这种简化写法的提议是否曾被考虑过,之后又被否决?

另外我已编写了符合需求的简单包装器,但每次使用都需额外定义,更希望该功能能直接纳入std或fmt库中:

template <typename T>
void println(T&& value) {
  std::println("{}", std::forward<T>(value));
}

内容的提问来源于stack exchange,提问作者Daniel Langr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 23:16:02