cout
,cin
和名称中cerr
的“c”是什么意思?clog
我会说char
,但我还没有找到任何可以证实的东西。
“c”代表“字符”,因为 iostreams 将值映射到字节 (char) 表示和从字节 (char) 表示。[ Bjarne Stroustrup 的 C++ 风格和技术常见问题解答]
我最初猜到了console,这个链接证实了这一点。但是在看到Stroustrup 的引用之后,似乎这是一个误解,并且 c 代表character。
支持该理论的可以作为指标的一件事是,对于每个流对象(cin
、cout
、cerr
等),都有一个等效的宽流对象(wcin
、wcout
、wcerr
等)。
编辑:FredOverflow 通过指向 Stroustrup 网站的链接找到了正确答案。
C++ 标准草案(www.open-std.org 上的 n1905.pdf,我没有确切的链接)似乎表明它来自“C”:“C 标准输出”=> cout
27.3 标准 iostream 对象 [lib.iostream.objects]
1- 标头 <iostream> 声明将对象与 <cstdio> (27.8.2) 中声明的函数提供的标准 C 流相关联的对象。
[...]
27.3.1 窄流对象 [lib.narrow.stream.objects]
istream cin
1-对象 cin 控制来自与对象 stdin 关联的流缓冲区的输入,在 <cstdio> 中声明。
[...]