提问人:yeputons 提问时间:9/25/2021 最后编辑:HolyBlackCatyeputons 更新时间:6/28/2023 访问量:158
LWG1203“更有用的右值流插入”是否追溯应用于 C++11 或 C++20?
Was LWG1203 "More useful rvalue stream insertion" retroactively applied to C++11 or C++20?
问:
受到我最近问题中的讨论的启发。
存在 LWG 1203 C++ 标准库问题。它变成了一个更通用的(有一些限制),所以可以保留流的类型,并且像代码一样工作。operator>>(istream&&, T&&)
operator>>(Stream&&, T&&)
Stream
(stringstream{} << 123).str()
据我了解,这个问题在瓦尔纳邮件之前已从 WP 更改为 C++20 状态,此后一直没有更改。
但是,cppreference 上的此更改提到它已追溯应用于 C++11。此外,看起来所有的 libstdc++、libc++ 和 Microsoft STL 也严格在 C++20 之前实现了 LWG 1203,并删除了旧行为。
我是否也缺少一些将 LWG 1203 应用于 C++11、C++14 和 C++17 的其他 C++ 标准备忘录?
答:
1赞
vitaut
6/28/2023
#1
如果您有权访问 LWG 邮件列表,则“[isocpp-lib] LWG 1203 破坏了自己的动机”线程将讨论此问题,并提到库问题默认被视为缺陷报告,这意味着其修复程序具有追溯性。这包括对 LWG 1203 的修复。
评论