Verständnisfrage zu Klasse bzw. STL-Algorithmen



  • Tatsächlich dachte ich gelesen zu haben:

    typedef std::vector<Element> Elementvektor;
    

    Die Aufgabe klingt ja auch so als ob das gemeint wäre.
    Und dann speicherst Du Instanzen von Element in dem Vektor, keine Zeiger darauf.

    d.h.

    for (int i=0; i<anzahl;i++)
    {
      Element e;
      e.index  = i;
      e.numgen = //ist jetzt nicht wichtig :)
    
      evektor.push_back(e);
    }
    

    Oder ähnlich.



  • Sone schrieb:

    ACnut schrieb:

    hmm wieso is das new unnötig, muss es ja zur laufzeit erzeugen die objekte.

    Jo, aber das kann es auch ohne new - mit einer ganz gewöhnlichen automatischen Variable, die auf dem Stack liegt.

    (Es ist übrigens falsch, da du versuchst einen Zeiger an die push_back Funktion zu übergeben, die allerdings eine const-Referenz auf den Elementtyp ( Element ) erwartet)

    oh,ok 🙂

    Furble Wurble schrieb:

    Tatsächlich dachte ich gelesen zu haben:

    typedef std::vector<Element> Elementvektor;
    

    Die Aufgabe klingt ja auch so als ob das gemeint wäre.
    Und dann speicherst Du Instanzen von Element in dem Vektor, keine Zeiger darauf.

    d.h.

    for (int i=0; i<anzahl;i++)
    {
      Element e;
      e.index  = i;
      e.numgen = //ist jetzt nicht wichtig :)
     
      evektor.push_back(e);
    }
    

    Oder ähnlich.

    krankes beispiel 😡
    wobei ich immer noch nicht verstehe wieso man eine klasse benutzt und nicht einfach eine struct. oder ist die automatisch privat gestzten membervariablen durch die klasse so wichtig bei dem beispiel?(soll keine ironische frage sein 😋 🕶 )


  • Mod

    ACnut schrieb:

    wobei ich immer noch nicht verstehe wieso man eine klasse benutzt und nicht einfach eine struct. oder ist die automatisch privat gestzten membervariablen durch die klasse so wichtig bei dem beispiel?(soll keine ironische frage sein 😋 🕶 )

    Nein, das ist nicht wichtig, aber es ist einfach der übliche Ansatz, dass man privates privat hält.



  • SeppJ schrieb:

    ACnut schrieb:

    wobei ich immer noch nicht verstehe wieso man eine klasse benutzt und nicht einfach eine struct. oder ist die automatisch privat gestzten membervariablen durch die klasse so wichtig bei dem beispiel?(soll keine ironische frage sein 😋 🕶 )

    Nein, das ist nicht wichtig, aber es ist einfach der übliche Ansatz, dass man privates privat hält.

    ok 😃



  • ACnut schrieb:

    Furble Wurble schrieb:

    Tatsächlich dachte ich gelesen zu haben:

    typedef std::vector<Element> Elementvektor;
    

    Die Aufgabe klingt ja auch so als ob das gemeint wäre.
    Und dann speicherst Du Instanzen von Element in dem Vektor, keine Zeiger darauf.

    d.h.

    for (int i=0; i<anzahl;i++)
    {
      Element e;
      e.index  = i;
      e.numgen = //ist jetzt nicht wichtig :)
     
      evektor.push_back(e);
    }
    

    Oder ähnlich.

    krankes beispiel 😡

    Bitte was?



  • Das Beispiel ist schwer krank.



  • Ach, Sone, was täten wir nur ohne dich. 😃



  • Nathan schrieb:

    Ach, Sone, was täten wir nur ohne dich. 😃

    Spaß am Forum haben? 😃



  • [quote="Furble Wurble"][quote="ACnut"]

    Furble Wurble schrieb:

    Tatsächlich dachte ich gelesen zu haben:

    typedef std::vector<Element> Elementvektor;
    

    Die Aufgabe klingt ja auch so als ob das gemeint wäre.
    Und dann speicherst Du Instanzen von Element in dem Vektor, keine Zeiger darauf.

    Bitte was?

    das ist nicht auf dich bezogen sondern auf das beispiel xD



  • ...



  • Ja, das wäre lebensrettend gewesen. Einige der inneren Statements waren in einem kritischen Zustand:

    e.numgen = //ist jetzt nicht wichtig :)
    


  • haha xD


Anmelden zum Antworten