Co oznacza "c" w nazwach cout, cin, cerr i clog?Co oznacza "c" w cout, cin, cerr i clog?
Powiedziałbym, że char
, ale nie znalazłem nic, aby to potwierdzić.
Co oznacza "c" w nazwach cout, cin, cerr i clog?Co oznacza "c" w cout, cin, cerr i clog?
Powiedziałbym, że char
, ale nie znalazłem nic, aby to potwierdzić.
"C" oznacza "charakteru", ponieważ wartości iostreams map do iz bajtowych (char) przedstawień. [Bjarne Stroustrup's C++ Style and Technique FAQ]
pierwotnie domyślić konsolę i this link to potwierdził. Ale po obejrzeniu quote from Stroustrup wydaje się, że jest to błędne przekonanie, i że c oznacza znak.
Jedno na korzyść tej teorii, która może służyć jako wskaźnik jest fakt, że dla każdego obiektu strumień (cin, cout, cerr, itd.) Istnieje odpowiednik, szeroki strumień jeden (wcin, wcout , wcerr itp.).
Byłoby miło mieć odniesienie z dokumentu standardowego lub jednego z dzieł Stroustrupa - nie mogę go znaleźć, a losowe strony internetowe się nie liczą, obawiam się. –
Zawsze myślałem, że odnosi się do C jak w C++ :) (nie myślałem o tym wiele ...) –
+1 Dobra rada, to musi być konsola. – fastcodejava
Edit: FredOverflow znalazł właściwą odpowiedź z linkiem ku stronie Stroustrup.
Standardowy szkic C++ (n1905.pdf na www.open-std.org, nie mam dokładnego linku) wydaje się wskazywać, że pochodzi on z "C": "C standardowe wyjście" => cout
27,3 standardowe obiekty iOStream [lib.iostream.objects]
1- nagłówka < iostream> deklaruje obiekty, które wiążą się przedmiotów ze standardową C strumieni przewidzianej funkcji uznane w < cstdio> (27.8.2).
[...]
27.3.1 wąski strumień przedmiotów [lib.narrow.stream.objects]
istream cin
1- Przedmiotem cin kontroluje wejście z bufora strumieniowego powiązanego z stdin obiektu, zadeklarowanego w < cstdio>.
[...]
Powód, dla którego zaakceptowałeś, jest prawidłowy. –
@Rexxar Możesz rozważyć swoją akceptację. To doskonały przykład, dlaczego nigdy nie powinieneś zbyt szybko akceptować odpowiedzi. Polecam kilka godzin, zanim zrobię to w przyszłości, aby dać czas na lepsze odpowiedzi. –
@Neil Butterworth Zmieniłem zaakceptowaną odpowiedź. – Rexxar
Jaka jest różnica między "cout" i "out"? –