H
get() liest laut Doku genau ein Zeichen aus. Von daher bin ich davon ausgegangen, daß das wohl ein Char sein wird, aber Du hast recht, es ist ein Integer. Weißt Du, wieso? Hat das irgendeinen tieferen Sinn?
Kaputte C-Api. get muss neben allen möglichen Zeichen ja auch irgendwie eof liefern könnnen. eof kann nun aber schlecht ein gültiges Zeichen sein, sonst könnte man ja nicht mehr unterscheiden. Also verwendet man statt char einfach int und hat damit noch ganz viel Platz für eof.
Ich finde diese Schnittstelle so hässlich, dass ich sie mit nicht-Benutzung abstrafe. Statt
int_type c = cin.get();
schreibe ich immer:
char c = 0;
cin.get(c);
Letzteres kann man auch schön in einer Bedingung verwenden:
char c;
while (cin.get(c))
{
balala
}
Mal eine ganz andere Frage: Gibt's für C++ irgendwo so eine nette Dokumentation, wie die API-Doku für Java? Also eine Seite, auf der die verschieden Klassen der STL stehen und deren Methoden/Parametersignaturen/Rückgabewerte/ + kurze Erklärung? Der Stroustrup ist zwar gut und zum Lernen ideal, aber irgendwie unübersichtlich, wenn man nur 'ne Kurzreferenz sucht
Es gibt natürlich Übersichten über den Inhalt der Standardbibliothek:
Z.B.
http://www.dinkumware.com/manuals/reader.aspx?lib=cpp
http://www.sgi.com/tech/stl/