Что означает буква "с" в именах cout, cin, cerr и clog?
Я бы сказал char, но я не нашел ничего, чтобы подтвердить это.
Что означает буква "с" в именах cout, cin, cerr и clog?
Я бы сказал char, но я не нашел ничего, чтобы подтвердить это.
«c» означает «символ», потому что потоки ввода-вывода отображают значения в байтовые (символьные) представления и из них. [Часто задаваемые вопросы по стилю и технике C++ Бьярна Страуструпа]
wcout определенно означает широкий символ.
- person Yongwei Wu; 17.09.2019
Сначала я предположил консоль и эта ссылка подтвердила это. Но после просмотра цитаты Страуструпа кажется, что это заблуждение, и что c означает персонаж.
В пользу этой теории может служить индикатором тот факт, что для каждого потокового объекта (cin, cout, cerr и т. д.) существует эквивалентный широкопоточный объект (wcin, wcout, wcerr и др.).
Редактировать: 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>.
[...]