Funktionen, Ausgabe mehrerer Werte



  • Außerdem kannst du Strukturen teilweise leichter weiterreichen (ein struct zählt als einzelner Wert und kann deshalb auch per return durchgereicht werden - siehe der Code-Schnipsel in meinem letzten Beitrag).

    PS: Und noch vielseitiger werden struct's, wenn du mit C++ arbeitest 😉



  • CStoll schrieb:

    PS: Und noch vielseitiger werden struct's, wenn du mit C++ arbeitest

    weil man kein 'typedef' braucht?



  • Nein, weil du einem C++-Struct außer Wertelementen auch Bearbeitungsmethoden mitgeben kannst.



  • CStoll schrieb:

    Nein, weil du einem C++-Struct außer Wertelementen auch Bearbeitungsmethoden mitgeben kannst.

    naja, in C macht man eben:

    void bearbeite_meine_struct (meine_struct *x)
    {
      x->... // egal jetzt
    }
    

    ich seh' da keinen grossen vorteil drin wie's c++ macht...



  • Dazu kommt noch Operator-Overloading, die Möglichkeit, eigene Copy-Konstruktoren und Zuweisungsoperatoren mit beliebiger Semantik zu erzeugen, ... (die ganze Palette von C++ halt)

    (bei skalaren Elementtypen hast du ja keine Probleme. Aber wenn du anfängst mit Zeigern zu hantieren, ist das Verwalten des Speichers in C++ wesentlich eleganter zu lösen)

    PS: Sorry, ich wollte jetzt keine Diskussion C vs. C++ anstoßen.



  • CStoll schrieb:

    ... (die ganze Palette von C++ halt)

    du meinst: 'ne menge meist sinnloser overhead 😃

    CStoll schrieb:

    PS: Sorry, ich wollte jetzt keine Diskussion C vs. C++ anstoßen.

    kein problem, es sind nunmal zwei unabhängige sprachen und man einfach nicht allgemein sagen, dass die eine oder andere 'besser' oder 'schlechter' sei...



  • net schrieb:

    CStoll schrieb:

    ... (die ganze Palette von C++ halt)

    du meinst: 'ne menge meist sinnloser overhead 😃

    Overhead? Möglicherweise.
    Sinnlos? Definitiv nicht (schließlich mußt du einer Klasse nur das auf den Weg geben, was sie deiner Meinung nach auch benötigt).



  • CStoll schrieb:

    Sinnlos? Definitiv nicht...

    doch, total sinnlos. was haben konstruktoren, operatorüberladung und der ganze schnickschnack in structs zu suchen? dafür gibts 'class'.



  • net schrieb:

    CStoll schrieb:

    Sinnlos? Definitiv nicht...

    doch, total sinnlos. was haben konstruktoren, operatorüberladung und der ganze schnickschnack in structs zu suchen? dafür gibts 'class'.

    Wenn du der Meinung bist, keinen Ctor etc. zu brauchen, mußt du auch keinen anlegen. (der Vorteil ist, daß du es machen darfst, wenn du es brauchst)



  • Ich bitte euch...



  • CStoll schrieb:

    net schrieb:

    CStoll schrieb:

    Sinnlos? Definitiv nicht...

    doch, total sinnlos. was haben konstruktoren, operatorüberladung und der ganze schnickschnack in structs zu suchen? dafür gibts 'class'.

    Wenn du der Meinung bist, keinen Ctor etc. zu brauchen, mußt du auch keinen anlegen. (der Vorteil ist, daß du es machen darfst, wenn du es brauchst)

    schon klar, aber das konzept der 'structs' in c++ ist mist. eine struct sollte eine zusammenfassung von variablen sein, mehr nicht. wenn c++ keine klassen hätte, könnte man ja irgendwie verstehen, wenn sie structs dafür hergenommen und erweitert hätten. aber so wie's ist, ist es grütze.



  • [quote="net"]

    TactX schrieb:

    Ich bitte euch...

    ok, ich hör ja schon auf zu lästern 😉
    hab deinen beitrag erst gesehen, nachdem ich meinen abschickte...



  • net schrieb:

    schon klar, aber das konzept der 'structs' in c++ ist mist. eine struct sollte eine zusammenfassung von variablen sein, mehr nicht. wenn c++ keine klassen hätte, könnte man ja irgendwie verstehen, wenn sie structs dafür hergenommen und erweitert hätten. aber so wie's ist, ist es grütze.

    OK, über Geschmack lässt sich (nicht?) streiten. Und ich bin halt der Meinung, daß es nützlich ist, C++ Structs aufwerten zu KÖNNEN (wichtig: nicht MÜSSEN).
    Aber es hindert dich natürlich niemand daran, eine struct im C-Sinn zu verwenden.

    TactX schrieb:

    Ich bitte euch...

    Bin ja schon ruhig *verzieht sich ins C++ Board*


Anmelden zum Antworten