web-dev-qa-db-ja.com

cout、cin、cerr、clogで「c」とはどういう意味ですか?

Cout、cin、cerr、clogの名前で「c」はどういう意味ですか?

charと言いますが、確認できるものが見つかりません。

48
Rexxar

Iostreamはバイト(char)表現との間で値をマップするため、「c」は「文字」を表します。 [ BjarneStroustrupのC++スタイルとテクニックに関するFAQ ]

73
fredoverflow

私はもともとconsoleを推測し、 このリンク それを確認しました。しかし、 Stroustrupからの引用 を見た後、それは誤解であり、cは文字を表しているようです。

指標として役立つことができるその理論を支持する1つのことは、各ストリームオブジェクト(cin、cout、cerrなど)に同等のwide-stream1つ(wcin、wcout、wcerrなど)。

24
JRL

編集:FredOverflowは、StroustrupWebサイトへのリンクを含む正しい答えを見つけました。

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は、<cstdio>で宣言されたオブジェクトstdinに関連付けられたストリームバッファからの入力を制御します。

[...]

2
Rexxar