none
CArray in CArray-Klasse verwendbar? RRS feed

  • Frage

  • Ich bin mir nicht so richtig sicher ob das geht...
    Also wenn ich eine Klasse habe, in der ein CArray verwendet wird, kann ich dann ein CArray von dieser Klasse erstellen?

    Ich bin mir nicht sicher ob das geht, da in einem Array ja alle Elemente hintereinander liegen müssen.


    VisualCPlusPlus
    Mittwoch, 7. September 2011 19:38

Antworten

  • Aber sicher.
    Das Problem wird nur sein, dass Du evtl. entsprechende Copy-Operatoren benötigst.

    Was meinst Du mit: "da in einem Array ja alle Elemente hintereinander liegen müssen"?
    Das tun sie doch...


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 8. September 2011 06:09
    Moderator

Alle Antworten

  • Aber sicher.
    Das Problem wird nur sein, dass Du evtl. entsprechende Copy-Operatoren benötigst.

    Was meinst Du mit: "da in einem Array ja alle Elemente hintereinander liegen müssen"?
    Das tun sie doch...


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 8. September 2011 06:09
    Moderator
  • Was meinst du mit Copy-Operatoren?

    Meines wissens nach liegen in einem Array alle Elemente direkt hintereinander, im Arbeitsspeicher. Wenn ich nun 2 Elemente meiner Klasse hinzufüge, und anschließend im zuerst hinzugefügten Element das "Klassen-Array" um ein Element Aufstocke, passt das Element ja nicht mehr hin, da ja schon das 2. Array der meiner Klasse dahinter liegt.


    VisualCPlusPlus
    Donnerstag, 8. September 2011 16:00
  • Nein Du irrst.
    Dein Element ist immer noch gleich groß, denn der Array selbst ist ja wieder nur ein gekapselter Zeiger und nur dieser Speicher wächst.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 8. September 2011 16:33
    Moderator
  • Gut, und was ist nun ein Copy-Operator?

     


    VisualCPlusPlus
    Donnerstag, 8. September 2011 17:41
  • Gut, und was ist nun ein Copy-Operator?

    Oder auch Assignment Operator!
    Siehe auch Copy-Constructor!

    Wir wäre es mal mit einem Grundlagenbuch?

    class CMyClass
    {
    ...
         CMyClass(const CMyClass& ref); // Copy constructor
         CMyClass &operator=(const CMyClass& ref); // Assignment operator
    ...
    }

    PS: Findet sich auch alles n wikipedia:
    http://en.wikipedia.org/wiki/Assignment_operator_in_C%2B%2B
    http://en.wikipedia.org/wiki/Copy_constructor


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Freitag, 9. September 2011 05:53
    Moderator
  • Gut, danke. Jetzt ist mir alles klar. :)
    Was ein Kopierkonstruktor ist weiß ich. Wusste nur nichts mit "Copy-Operator" anzufangen.
    VisualCPlusPlus
    Freitag, 9. September 2011 13:29