inline Methoden???
-
Hallo,
angenommen ich habe eine Header (h) File und eine Code File (cpp).
In der Header definier ich die methoden und variablen, und in der Code File schreib ich dann die methoden köpfe und initialisier die variaben etc.
Nun kann ich auch die methoden (Rümpfe) direkt in der Header Datei programmieren, und zusätzlich kann ich diese methoden al inline deklarien?
Nun meine frage.. wird das Header /code Filde prinzip verwendet um muster und inhalt des quellcodes verwendet.. was spricht für und gegen inline methoden?? grüße
-
der compiler kann (unter verwendung der entsprechenden compiler-optionen) meistens besser entscheiden, ob/wo er eine funktion inlined oder nicht...
pro: schneller (call entfaellt)
contra: groesser (dadurch ggf wieder langsamer)
-
Hallo
contra Implementation immer in Header-Dateien :
- Implementation wird offengelegt, was selten gewollt ist
- Änderungen an der Implementation erfordern immer Neukompilieren aller anderen abhängigen Quellcodedateien, die eigentlich nur das (unveränderte) Interface bräuchten.bis bald
akari
-
Contra:
* mehr Sauhaufen
* User sieht die Implementierung, was schnell dazu führen kann dass er sich aus Sachen verlässt die das Interface garnicht garantiert (die halt bloss *derzeit* so implementiert sind etc.) - aber siehe auch "Pro"
* man bekommt u.U. schnell Probleme mit "a depends on b" und "b depends on a" und dann hat man schon den Salat...Pro:
* viel schneller zu tippen was gerade fürs Prototyping gut ist und für kleine Tools
* der User sieht die Implementierung, was u.U. dazu führt dass er besser checkt was eine Funktion tut/tun soll - aber siehe auch "Contra"
* Code wird im normalfall bissi schneller (in der ausführung jetzt)