根據C++標準(§30.7.5.2.4C++ 17草案(N4659)的),out << ch
不會在ch
執行加寬操作中,如果ch
是char
和out
是std::ostream
。C++ std :: ctype的作用是什麼<char> :: widen()?
這是否意味着std::ctype<char>::widen()
(即,char
- >char
)由標準保證是在基本的源字中的所有字符的標識功能(widen(ch) == ch
)設置?
如果是這樣,這反過來是否意味着標準要求所有區域設置使用基本源字符集中相同的非寬(或多字節)字符編碼?
如果不是,看起來像out << 'x'
,對文字的字符編碼的特定選擇,可能無法在所有語言環境中工作,即使它在某些情況下工作。也就是說,可能不會選擇字符文字編碼,因此out << 'x'
可以在所有語言環境中同時運行。