Preprocession ist das Schlüsselwort.
Was hat nen Forward mit dem Preprozessor zu tun ?
Forward declarations sind doch nen Sprachmerkmal ... oder ?
statt #include <QSlider> oder? ist es das gemeint, damit es mit derkompilierung schneller geht?
ja fast ^^
Nen forward bietet dir eigentlich nur die möglichkeiten, einen Typen anzulegen, ohne irgend eine Information ueber dentypen mitgeben zu muessen. Es ist dann sowas wie ne Vor - deklaration, ne reservierung des Namens.
DU kannst mit c++ diese vor-declarierten typen aber auch an allen Stellen verwenden an stellen, wo du keine Info ueber den typ selber brauchst. z.b. Zeiger, referenzen (werden eh durch nen pointer dargestellt) und rueckgabewerte im header. Sobald aber auf die Typinformationen zugreifst, brauchst dann den die richtige declaration, klar.
Verwenden tut man dies, um Abhaengigkeiten aufzuloesen !
Das ist wichtiger und maechtiger als wie es aufn ersten blick aussieht.
Das das kompilieren schneller geht, iss eher nen positiver nebeneffekt. Wichtiger dabei ist, das man das Henne / Ei problem bei gegenseitigen referenzieren von Typen/Klassen damit loesen kann.
In der englischen Dokumentation steht da etwas von "trick".
Eigentlich ist das echt schlimm wenn das da so steht !
Der Trick sollte eigentlich die Normalitaet sein !!!
zu deutsch: Man sollte nie einen Header in einen anderen header includen, wenn man nicht eine Instanzierung, oder einen methodenaufruf oder eine typinformation braucht !
Ciao ...