2015-09-01 3 views

ответ

11

Они работают на различных типах символов:

  • std::cout использует char как тип символа
  • std::wcout использует wchar_t как тип символа

В противном случае оба потока пишут в стандартный вывод.

+3

а какие широкие символы в любом случае? –

+4

'char' используется для * узких * строк, подходящих для 7-разрядных ASCII и 8-разрядных ANSI. 'wchar_t' используется для * широких * строк, также как строки Unicode. Однако размер 'wchar_t' не переносимый, на некоторых системах он 16 бит (подходит для UCS2/UTF-16), а для других он 32 бит (подходит для UCS4/UTF-32). В C++ 11 были введены новые 'char16_t' и' char32_t' типы, чтобы справиться с этим descrepency. –

3

Другое дело, что оба используются с уважаемым входным потоком.

Объекты этих объектов инициализируются во время или до того, как будет создан объект std::ios_base::Init.

  • std::cout является std::basic_ios::tie 'd, чтобы std::cin и std::cerr
  • std:wcout является std::basic_ios::tie' d, чтобы std::wcin и std::wcerr
+0

@Galik Определенно. Спасибо за исправление. Извините за поздний ответ. – oguzhanunlu

Смежные вопросы