【发布时间】:2023-03-18 03:44:02
【问题描述】:
C++ 对字符文字的顺序有什么保证? 基本源字符集中的字符是否有明确的顺序? (例如,'a' < 'z' 是否保证为真?'A' < 'z' 怎么样?)
【问题讨论】:
-
一个真正邪恶的实现可能有
'z' == 'a' + 25,而仍然有'b'<'a'。我认为这是相当不明确的,即使考虑到 EBCDIC 和 SMS。 -
无法保证的事实再次表明,有时支持某些实现是个好主意,这可能是“大多数”。在我看来,一个很好的例子是 Qt 坚持使用
sizeof(int) == 4... 所有他们想要支持的编译器都可以保证这一点,但当然不是全部,但如果你将自己限制在这样的实现中,它可以让生活变得更轻松。但是,您需要小心并了解您所坚持的实现,当然,还要考虑这种依赖于应用程序的限制。
标签: c++ c++11 character-encoding char character