C++ verwendet Klassen; Microsoft stellt für Windows diese Klassen bereit; soweit ich mal gehört habe, funktionieren aber viele davon nicht unter Linux, sodass es inzwischen so ne Art "Ersatzklassen" gibt, die ein bisschen anders funktionieren/aussehen, dafür aber auf beiden Systemen laufen.
Ist aber schon länger her, bin mir nicht mehr ganz sicher, kann auch sein, dass ich dir grad Blödsinn erzählt habe; in diesem Fall sry, dann hab ichs falsch im Kopf ^^"
ich kann das Buch "C++ von A bis Z" [1] mit ruhigem Gewissen empfehlen da ich es selbst habe und für sehr gut halte: informativ, lehrreich und angenehm geschrieben, zudem versucht der Autor "Jürgen Wolf" [3] sich gänzlich auf ANSI C++ zu halten, um Betriebssystemunabhängigkeit zu garantieren.
Bezüglich dem Windows / Linux Ding: ANSI C++ ist überall gleich. Gewisse Libs gibt's nur unter Linux, andere nur unter Windows (va wegen dem .NET Anschluss), manche für beide, wie zB GTKMM [2].