Kann ich eine neue struct auf dem heap, ohne die Definition eines Konstruktors?

Ich verstehe, dass es gibt sehr wenige Unterschiede zwischen Strukturen und Klassen in c++ (zwei?). Sei es wie es sei, ich habe angewiesen worden, zu verwenden, Strukturen zu definieren, einfache kleine Dinge wie Knoten, die vielleicht nicht brauchen member-Funktionen (trotz der Tatsache, dass ich technisch include include member-Funktionen). Zum Beispiel könnte ich definieren einen Knoten als privates Mitglied einer LinkedList-Klasse wie folgt:

class LinkedList {
  struct Node {
    MyObject *data;
    Node *next;
  };

  Node *list;

};

In diesem Fall jedoch, ist es möglich, erstellen Sie eine neue Instanz von diesem struct auf dem heap, oder brauche ich das definieren eines Konstruktors? Gibt es eine Möglichkeit zu schaffen, die Dinge über den Haufen, ohne den new-operator? Oder noch besser: ist es überflüssig für mich, Klammern sich so fest an die Vorstellung, dass ich nicht definieren member-Funktionen für Strukturen? Sollte ich gehen Sie einfach weiter und definieren eine? Oder wenn ich das täte, wäre es, zuzugeben, dass Knoten wirklich irgendetwas, um eine innere Klasse, sondern als eine innere Struktur? Soll ich mir wirklich sorgen über diese Dinge überhaupt? Was ist lesbarer?

Dank!

InformationsquelleAutor Ziggy | 2010-12-13
Schreibe einen Kommentar