C++ Klasse

crvn075 schrieb:
Was wolltest du denn dann sagen? Stehe gerade wirklich auf dem Schlauch.
Habe nicht behauptet, die beiden von dir genannten Szenarien seien das Selbe, oder hätten dieselbe Auswirkung.

Wo soll das deiner Ansicht nach passiert sein?

Prima: Wenn du public-Member veränderst, macht das anderen Leuten die Projekte kaputt. Bei private aber nicht.
Secunda: Wenn also jemand anders eine semantisch für mich bedeutungslose Änderung an seinem Code vornimmt, auf den ich keinen Einfluss habe, muss ich mein eigenes Projekt zu großen Teilen neu kompilieren. Dabei habe ich bei mir selbst doch nur 2 Zeilen geändert. Zum Glück hab ich noch en Film, den ich gucken wollte.
Prima: Öh, Ich meinte das andere "Kaputt"

€: Neukompilierzwang ist zwar tatsächlich weniger dramatisch, als dazu gezwungen zu sein, seine eigene Arbeit ändern zu müssen. Trotzdem sollte man das nicht einfach so wegwischen. Ich erinnere mich an meine Zeit mit Gentoo, in der große Projekte wie QT schon mal eine Stunde oder länger gebraucht haben, um gebaut zu werden. Neue Version von Boost? Tja, jetzt muss außerdem noch die Hälfte deiner installierten Software neu gemacht werden. Sowas zieht sich oft über gewaltige Teile des dependency trees.

Deshalb finde ich es wichtig, auch das vermeintlich kleinere Übel so selten wie möglich zum Tragen kommen zu lassen. Und da reicht es dann nicht mehr, zu sagen Ist ja private, dann muss ich mich um nichts mehr kümmern.
 
Zuletzt bearbeitet:
Du musst das so sehen. C++ ist sich all die Jahre treu geblieben. Früher hattest Du lange Compile-Zeiten, weil die Hardware im Vergleich zu heute schwächer war. Heute hast Du lange Compile-Zeiten, weil die Programme größer geworden sind und mehr Abhängigkeiten dran hängen. :-)

Ist aber Wurscht. Denn wie sagte schon unser Altkanzler Helmut Kohl: Wichtig ist, was hinten raus kommt. Und das sind schnelle Binaries.
Alles andere ist zweitrangig. Jedenfalls meint das der gemeine C++ Entwickler. :-)

Gruß
Andy
 
asdfman schrieb:
Wenn also jemand anders eine semantisch für mich bedeutungslose Änderung an seinem Code vornimmt, auf den ich keinen Einfluss habe, muss ich mein eigenes Projekt zu großen Teilen neu kompilieren. Dabei habe ich bei mir selbst doch nur 2 Zeilen geändert.

Dafür gäbe es ja noch das Pimpl idiom. Ab wann das Sinn macht ist jetzt wieder die andere Frage und wenn du die Klasse nach außen hin änderst bringt dir es ja auch nichts.

Ich meine QT nutzt das auch so ziehmlich überall. Damit kann man sich bei kleinen internen Korrekturen an einer Klasse das Neukompilieren sparen, sonst wäre das bei so großen Projekten ja noch viel schlimmer.
 
Dafür gäbe es ja noch das Pimpl idiom. [...]
Das Problem ist, solche Dinge sind ja letztlich alles nur wieder "hingepfusche", um grundsätzliche Fehler die beim C++ Design gemacht wurden irgendwie in den Griff zu kriegen. Und das ist halt einfach ärgerlich.

Gruß
Andy
 
andy_m4 schrieb:
Das Problem ist, solche Dinge sind ja letztlich alles nur wieder "hingepfusche", um grundsätzliche Fehler die beim C++ Design gemacht wurden irgendwie in den Griff zu kriegen. Und das ist halt einfach ärgerlich.

Gruß
Andy

Ich glaube irgendwo gelesen zu haben, dass man für C++17 die Möglichkeit in Erwägung zieht, C++ ein echtes Modul-System zu verpassen. Mal schauen, was draus wird. :)
 
Zurück
Oben