Wutz erklärt C++ (Split aus: Frage zu extern)



  • Was, wenn du plötzlich zwei Konsolenfenster anbieten möchtest? Den gesamten Code umschreiben?

    Ich schätze, das läuft wie using namepace std und std::endl . Anfänglich nimmt man eben das, was einem angeboten wird. Später, wenn man verstanden hat, was da läuft, macht man das anders.

    Im Moment wüsste ich jetzt gar nicht, wie man überhaupt mehrere Konsolenfenster erzeugen kann. Kann also gar nicht passieren. Wenn ich dann soweit wäre, wird sich auch mein Wissen und Stil erweitert haben. Im Moment sehe ich nicht ein, warum ich solche Werte das ganze Programm durch übergeben sollte.

    EDIT: Und falls man doch umschreiben möchte, ist es sicherlich einfacher, einige Werte im Header umzuschreiben, als überall in den Aufrufen.


  • Mod

    Im Moment sehe ich nicht ein, warum ich solche Werte das ganze Programm durch übergeben sollte.

    Weil Erweiterbarkeit/Wiederverwendbarkeit deines Codes davon abhängt. Und das sind essentielle Eigenschaften guten Stils.

    EDIT: Und falls man doch umschreiben möchte, ist es sicherlich einfacher, einige Werte im Header umzuschreiben, als überall in den Aufrufen.

    In den Aufrufen wirst du doch eine Variable angeben, die irgendwo einmal im Programm definiert ist. Bspw. in der main .



  • @lemon03 Wieso musst du in den Aufrufen etwas ändern, wenn sich ein Wert ändert?



  • Stimmt, habt beide recht, der Wert der Variable ändert sich natürlich nicht.

    Aber irgendwie widerstrebt es mir, solch "natürliche" Variablen wie in dem Fall die Dimensionen des Konsolenfensters an Funktionen, wo sie genutzt werden zu übergeben. Es gibt ja schon genug Werte, die übergeben werden müssen.

    Mir fiele nur ein, die Werte dann direkt in den Funktionen zu deklarieren, wo man dann aber bei Änderung wieder mit suchen und ersetzen beschäftigt wäre.



  • lemon03 schrieb:

    Aber irgendwie widerstrebt es mir, solch "natürliche" Variablen wie in dem Fall die Dimensionen des Konsolenfensters an Funktionen, wo sie genutzt werden zu übergeben. Es gibt ja schon genug Werte, die übergeben werden müssen.

    Anstelle von:

    void f(int,int,int,int,int,int,int,int,int)
    

    Kannst Du es doch auch so lösen:

    struct Cfg {
      int a, b, c, d, e, f, g, h, i, j, k, l, m, n;
    }
    
    void f(const Cfg&);
    

    Falls Dich die Anzahl an Übergabeparameter stören sollten.



  • Das wäre in einem anderen Fall bei mir tatsächlich interessant, danke dafür.

    Ansonsten werde ich mal über die ganze Sache weiter nachdenken ...



  • Ich hab mir von dem Thread ein bisschen mehr erhofft...



  • Mehr zu welchem Thema?



  • Der Thread heißt ja "Wutz erklärt C++", also dachte ich, dass er hier tatsächlich mal ausnahmsweise etwas erklärt, statt nur festzustellen, dass alle anderen keine Ahnung haben. z.B. das Theman mit den unions. Aber hier gibts ja auch keine einzige Erklärung von ihm.



  • Naja, den Titel hat ja Arcoth vergeben. Ich hatte es ursprünglich (bevor Arcoth das "(Split aus: Frage zu extern)" dazueditiert hat) auch nicht gecheckt.


Anmelden zum Antworten