[英]Is cout Guaranteed to Have the ctype<char> facet?
鉴于: auto foo = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"s
我可以将所有字符转换为小写:
use_facet<ctype<char>>(cout.getloc()).tolower(data(foo), next(data(foo), foo.size()));
但这取决于包含ctype<char>
facet
cout.getloc()
。
假设我正在使用未经修改的cout
,我可以假设cout.getloc()
将包含facet
ctype<char>
或者我需要在使用之前确认:
has_facet<ctype<char>>(cout.getloc())
从cppreference :
在C ++程序中构建的每个语言环境至少包含以下标准方面[...]:
- 的std :: CTYPE <炭>
- ...
任何语言环境,甚至不是cout
对象的语言环境都支持std::ctype<char>
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.