标准 (C++17) 是否要求std::codecvt<char, char, std::mbstate_t>::always_noconv()
返回 true
- 对于所有语言环境,或
- 对于实现提供的语言环境,或
- 仅适用于 C 语言环境,或
- 别的东西?
C++ 标准确实有话要说。来自 C++17 的第 25.4.1.4 节:
codecvt<char, char, mbstate_t>
实现退化转换;它根本不转换。
断章取义,这强烈表明它适用于所有语言环境。尽管如此,我还是很高兴听到任何可以证实这一点的人的意见,或者有理由说明为什么不应该这样。