Nutzung eines Objekts in einer anderen Übersetzungseinheit



  • Hey Leute,
    als ich heut ein bisschen Langeweile hatte, hab ich nochmal ein bisschen durch Effektiv C++ geblättert, da bin ich auf eine Stelle gestoßen die ich nicht ganz verstehe. Muss ich beim ersten lesen irgendwie übersprungen haben oder so 🙄

    Und zwar geht es um folgende beiden Seiten:

    /edit pumuckl: links entfernt.

    Ich verstehe dass nicht so ganz, im ersten Listing, wird doch tfs lediglich deklariert, also noch nicht erstellt. So im zweiten Listing, was eine andere Übersetzungseinheit darstellt, wird es genutzt. Wie kann es jedoch genutzt werden? Im 1.Listing wird es ja nur deklariert, wenn es dort global definiert werden würde, dann wär es ja klar, aber so verstehe ich das leider nicht.

    Vielen Dank schonmal für Eure Hilfe

    Lg freeG



  • Das erste Listing ist auch nur ein Ausschnitt aus dem Header für die Klasse darstellen, dazu gibt es sicher noch eine FilSystem.cpp geben, in der die Variable definiert wird (und die Methoden der Klasse).
    Dieser Header wird von mehreren Übersetzungseinheiten eingebunden (u.a. die FileSystem.cpp und indirekt die Directory.cpp), darum sollte dort natürlich keine Definition der Variablen enthalten sein, um die ODR einzuhalten.



  • Hey ja klingt logisch, das hab ich irgendwie nicht gesehen bzw erkannt, deswegen hab ich das auch nicht verstanden.

    Danke für deine Hilfe 🙂

    Lg freeG



  • Ich hab die links im ersten Beitrag gelöscht. Grund: Das Buch unterliegt dem Copyright, auch einzelne Seiten davon. Deine eingescannten Buchseiten solltest du daher besser nicht veröffentlichen.
    Ich hab keinen hundertprozentigen Überblick über die Rechtslage, daher bin ich lieber zu vorsichtig als zu nachsichtig und nehme sowas aus dem Forum.



  • pumuckl schrieb:

    Ich hab die links im ersten Beitrag gelöscht. Grund: Das Buch unterliegt dem Copyright, auch einzelne Seiten davon. Deine eingescannten Buchseiten solltest du daher besser nicht veröffentlichen.
    Ich hab keinen hundertprozentigen Überblick über die Rechtslage, daher bin ich lieber zu vorsichtig als zu nachsichtig und nehme sowas aus dem Forum.

    Oh ok, sorry darüber habe ich mir gar keine Gedanken gemacht. Aber die Frage ist ja sowieso geklärt, von daher macht es ja nichts dass die Links weg sind 😉

    Lg freeG



  • Könntet du dann bitte noch dazuschreiben, um welches Kapitel es ging oder die Seitenzahlen? Damit man sich die entsprechende Stelle auch mal ansehen kann.

    Danke 🙂



  • Wenn ich es richtig in Erinnerung habe, müsste das Kapitel 47 gewesen sein.



  • Also in meiner 3. Auflage is es Kapitel bzw Tipp 4.

    LG freeG


Anmelden zum Antworten