未来C++标准是否会定义类似std::print的格式化输入库?
C++中替代std::cin的格式化输入提案情况
C++23引入的<print>库与std::print,确实在格式化输出上比std::cout提供了更灵活、易用的方案。针对你关注的对称式格式化输入替代std::cin的需求,目前有相关提案在推进,但尚未纳入正式标准:
std::scan系列提案:这是和std::print配套的格式化输入方案,目标是提供类型安全、格式字符串驱动的输入能力,格式语法和std::print保持一致(比如支持{:d}、{:f}这类格式说明符),既解决了scanf的不安全问题,又比std::cin的流式输入更直观可控。- 这类提案(如P1063、P2969等)正处于C++标准委员会的讨论和完善阶段,核心诉求是实现输入侧与输出侧格式化能力的对称,同时兼顾性能与安全性。
- 当前主流编译器尚未默认支持该特性,不过部分编译器可通过启用实验性选项来体验相关实现。
内容的提问来源于stack exchange,提问作者user2138149
相关产品推荐
相关产品推荐

