cout
、cin
、cerr
和clog
名称中的“c”代表什么意思?
我觉得应该是代表字符(char
),但我没有找到任何证实的信息。
cout
、cin
、cerr
和clog
名称中的“c”代表什么意思?
我觉得应该是代表字符(char
),但我没有找到任何证实的信息。
wcout
明确代表“宽字符输出”。 - Yongwei Wu我最初猜测是控制台,并且此链接证实了这一点。但是在看到Stroustrup的引用之后,似乎这是一个误解,c代表字符。
支持这个理论的一个指标是每个流对象(cin
、cout
、cerr
等)都有一个相应的宽流对象(wcin
、wcout
、wcerr
等)。
FredOverflow找到了正确答案,并附有指向Stroustrup网站的链接。
一个C++标准草案(n1905.pdf在www.open-std.org上;我没有确切的链接)似乎表明它来自于"C": "C标准输出" => cout
27.3 标准输入输出流对象 [lib.iostream.objects]
1- 头文件<iostream>声明了将对象与由<cstdio>中声明的函数提供的标准C流相关联的对象。
[...]
27.3.1 窄流对象 [lib.narrow.stream.objects]
istream cin
1- 对象cin控制从与对象stdin关联的流缓冲区中的输入,该对象在<cstdio>中声明。
[...]
c代表C语言、C++语言和/或字符。