yep*_*ons 7 c++ iostream language-lawyer c++11 c++20
受到我最近问题中讨论的启发。
存在LWG 1203 C++ 标准库问题。它变成operator>>(istream&&, T&&)了更通用的operator>>(Stream&&, T&&)(对Stream)有一些限制,因此可以保留流的类型并且可以像代码一样(stringstream{} << 123).str()工作。
据我了解,此问题已在 Varna 之前的邮件中从 WP 状态更改为 C++20 状态,此后一直没有更改。
然而, cppreference 上的这一更改提到它已追溯应用于 C++11。此外,看起来所有libstdc++、libc++和Microsoft STL也在 C++20 之前严格实现了 LWG 1203,并删除了旧的行为。
我是否遗漏了其他一些将 LWG 1203 应用于 C++11、C++14 和 C++17 的 C++ 标准备忘录?
如果您有权访问 LWG 邮件列表,“[isocpp-lib] LWG 1203 破坏了自己的动机”线程讨论了此问题,并提到库问题默认被视为缺陷报告,这意味着它们的修复可追溯应用。这包括对 LWG 1203 的修复。