Рассмотрим следующее утверждение -Если компилятор C++ поддерживает набор символов Unicode, необходимо ли, чтобы базовый набор символов был также Unicode?
COUT Он отображает знак интеграции (символов Unicode), если компилируется на моей г ++ 4.8.2
1). Означает ли это, что основной набор символов этой реализации также является Unicode?
Если да, то рассмотрим следующее утверждение -
C++ определяет понятия 'байт' по-разному. Байт C++ состоит из достаточного количества. бит для размещения, по меньшей мере, общего количества. символов базового набора символов для реализации.
2). Если мой компилятор поддерживает Unicode, то бит no.of в байте в соответствии с приведенным выше определением байта должен быть больше 8. Следовательно CHAR_BIT> 8 здесь, правильно? Но мой компилятор показывает CHAR_BIT == 8. ПОЧЕМУ?
Ссылка: C++ Primer Plus
P.S. Я новичок. Не бросайте меня в сложные технические детали. Держите его простым и прямым. Заранее спасибо!
* Байты, как всегда, только 8 бит. * Это неверно. Существует не defenitve стандарт, который говорит, что байт составляет 8 бит, и есть машины, которые используют большие слова. http://stackoverflow.com/questions/5516044/system-where-1-byte-8-bit – NathanOliver
Исторически говоря, да, и в некоторых действительно странных случаях это верно, но редкий программист, который * когда-либо * должен иметь дело с этим. Кроме того, довольно уверенная, что любая система с не-8-битными байтами не поддерживает Unicode любым способом. Конечно, есть исключения из любого правила, но общий принцип здесь - это байты только 8 бит и 8 бит. Определения для «коротких» и «длинных» гораздо более субъективны. – tadman