Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Что означает c в словах cout, cin, cerr и clog?

Автор вопроса: RexxarОтветов: 3

Что означает буква "с" в именах cout, cin, cerr и clog?

Я бы сказал char, но я не нашел ничего, чтобы подтвердить это.

  • @Rexxar Возможно, вы захотите пересмотреть свое согласие. Это отличный пример того, почему вы никогда не должны принимать ответ слишком быстро. Я бы рекомендовал подождать несколько часов, прежде чем делать это в будущем, чтобы дать время для публикации лучших ответов. 14.02.2010
  • @ Нил Баттерворт Я изменил принятый ответ. Rexxar 14.02.2010
  • В чем разница между cout и out? Walter Mitty 15.02.2010
  • @WalterMitty Эм, cout - это поток вывода символов в C++. out - это слово в английском языке. Jim Balter 05.01.2019

c++standard-libraryiostream

Ответы

Ответ 1 · рейтинг 80 · fredoverflow

"c" означает "символ", потому что потоки ввода-вывода отображают значения в байтовые (символьные) представления и из них. [Часто задаваемые вопросы по стилю и технике C++ Бьярна Страуструпа]

Ответ 2 · рейтинг 26 · JRL

Сначала я предположил консоль и эта ссылка подтвердила это. Но после просмотра цитаты Страуструпа кажется, что это заблуждение, и что c означает персонаж.

В пользу этой теории может служить индикатором тот факт, что для каждого потокового объекта (cin, cout, cerr и т. д.) существует эквивалентный широкопоточный объект (wcin, wcout, wcerr и др.).

Ответ 3 · рейтинг 2 · Rexxar

Редактировать: FredOverflow нашел правильный ответ со ссылкой на веб-сайт Stroustrup.

Стандартный черновик С++ (n1905.pdf на www.open-std.org, у меня нет точной ссылки), по-видимому, указывает на то, что он исходит из "C": "Стандартный вывод C" => cout

27.3 Стандартные объекты iostream [lib.iostream.objects]

1- Заголовок ‹iostream> объявляет объекты, которые связывают объекты со стандартными потоками C, предусмотренными функциями, объявленными в ‹cstdio> (27.8.2).

[...]

27.3.1 Объекты узкого потока [lib.narrow.stream.objects]

istream cin

1- Объект cin управляет вводом из буфера потока, связанного с объектом stdin, объявленным в ‹cstdio>.

[...]

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы