001
01.06.2015, 09:51 Uhr
ao
(Operator)
|
Da würden mir zuallererst string und input/output stream einfallen, mit den Streams kann man nämlich wesentlich mehr machen als nur cin und cout. Außerdem die Algorithmen und Container-Klassen der STL. Einstieg zum Lesen hier: http://en.wikipedia.org/wiki/C%2B%2B_Standard_Library
Was außerdem immer wieder gern empfohlen wird: Boost. Kenne ich selber noch nicht, gebe ich aber einfach mal weiter: http://en.wikipedia.org/wiki/Boost_(C%2B%2B_libraries).
Das sind alles Bibliotheken, die nichts mit Mausschubsen und Pixelmalen zu tun haben, die spielen sich komplett unter der Haube ab. Trotzdem sind sie wichtig, weil sie dem Programmierer auf der unteren Ebene sehr viel Routinekram abnehmen können, das spart viel Zeit und vermeidet Fehler.
Außerdem sind sie auf praktisch allen Plattformen verfügbar, das wird immer wichtiger. Wenn du Bibliotheken kennst, die auf Windows, Linux, Apple, Android und was weiß ich wo sonst noch mit identischen APIs verfügbar sind, dann ist es egal, für welches System du ein Stück Code ursprünglich geschrieben hast: Du kompilierst ihn neu, und er läuft auch auf dem nächsten.
Für Programme mit grafischer Oberfläche würde ich Qt empfehlen. Das hat außer den GUI-Komponenten noch vieles andere dabei, was man bei der Applikationsprogrammierung wahrscheinlich zu schätzen wissen wird, Kommunikation, Multimedia, Threading und so weiter. Leider hat es eigene APIs für Containerklassen und I/O und erfindet damit die Standard-C++-Lib zum Teil neu. Damit muss man ein bisschen aufpassen, dass man nicht Abhängigkeiten von z.B QString oder QArray in tiefere Softwareschichten hineinträgt, die sonst eigentlich mit Qt gar nichts am Hut haben. Die breite Verfügbarkeit ist aber ein starkes Argument für Qt.
----- Edit: Boost-link korrigiert. Dieser Post wurde am 02.06.2015 um 22:25 Uhr von Hans editiert. |