Standartwerte von strukturen



  • Ich Habs.

    Es geht auch mit

    mp_Struct = new X {1, "HALLO", false};

    Strukturen haben wohl auch compilergenerierte Standartkonstruktoren.

    ich hatte den Fehler woanders, das es nicht funktionierte (NULL pointer)


  • Mod

    new X {1, "HALLO", false};
    

    Das nennt sich Aggregat-Initialisierung. Es initialisiert die einzelnen Member mit den Elementen der Liste in den geschweiften Klammern.

    Strukturen haben wohl auch compilergenerierte Standartkonstruktoren.

    Ja, beispielsweise Default-Konstruktoren, Kopier- und Move-Konstruktoren. Bei deiner Form der Initialisierung ist aber kein Konstruktor involviert.

    Warum eigentlich das Objekt per new allozieren und einen Zeiger darauf speichern?



  • Es Diente nur zum Zweck der Demonstration.



  • Sebastian Müller schrieb:

    Es Diente nur zum Zweck der Demonstration.

    Zur Demonstration von was? Davon, wie man es nicht machen sollte? Zeiger und new sollte man wirklich vermeiden, wo es nur geht. Und es geht wirklich sehr oft. Entweder liegen die Strukturen auf dem Stack oder sind in irgendwelchen Containern. Wenn es gar nicht anders geht, kann man Smartpointer nehmen. Aber ein roher Zeiger sollte in normalen Applikationen eigentlich nicht vor kommen.



  • tntnet schrieb:

    Aber ein roher Zeiger sollte in normalen Applikationen eigentlich nicht vor kommen.

    Korrektur: "ein roher besitzender Zeiger"



  • daddy_felix schrieb:

    Korrektur: "ein roher besitzender Zeiger"

    Hätte mich gewunder wenn nicht jemand mit "ja aber..." gekommen wäre 🙄 . Ich verwende auch keine nicht besitzenden Zeiger.



  • daddy_felix schrieb:

    tntnet schrieb:

    Aber ein roher Zeiger sollte in normalen Applikationen eigentlich nicht vor kommen.

    Korrektur: "ein roher besitzender Zeiger"

    Hihi, das habe ich mir auch überlegt zu schreiben. Wenn man hier was lernt, dann mit Sicherheit den Hang zur Kleinkariertheit.



  • DocShoe schrieb:

    daddy_felix schrieb:

    tntnet schrieb:

    Aber ein roher Zeiger sollte in normalen Applikationen eigentlich nicht vor kommen.

    Korrektur: "ein roher besitzender Zeiger"

    Hihi, das habe ich mir auch überlegt zu schreiben. Wenn man hier was lernt, dann mit Sicherheit den Hang zur Kleinkariertheit.

    Wenn du den Unterschied zwischen richtig und falsch als kleinkariert betrachtest ...



  • Muss bei solchen Fragen eigentlich immer ein Poniter-Inquisitor kommen.
    Die Frage von Arcoth nach dem Sinn dahinter (welche schon impliziert, dass das idR nicht sinnvoll ist), reicht doch wohl.
    Und wenn dann als Antwort kommt "will was ausprobieren", "was demonstrieren" oder sowas, dann muss diese das-darfst-du-nicht-wissen-Antwort doch echt nicht mehr sein.



  • Jockelx schrieb:

    Und wenn dann als Antwort kommt "will was ausprobieren", "was demonstrieren" oder sowas, dann muss diese das-darfst-du-nicht-wissen-Antwort doch echt nicht mehr sein.

    Vielleicht war die Ablehnung die Interpretation "ich will was demonstrieren" => "ich will ein tutorial schreiben". Also ich hatte in dieser Richtung auch ein wenig Bammel.

    Da unsere Fragesteller leider nicht die Hosen runterlassen, müssen wie die Lümmel eben schätzen. Das ist auch gut so, ich möchte nicht jeden Quellcode in allen Details sehen, zu viel ist eklig.

    Grundsätzlich ist eine "das-darfst-du-nicht-wissen-Antwort" kacke. Wer sowas sagen möchte, kann auch drei bis fünf Sätze sagen, warum das so ist.

    Außer, der Fragesteller ist ein Troll und man mag weiteren Antwortern sinnlose Arbeit ersparen.

    edit (endlich (halb) zur Sache):

    Muss bei solchen Fragen eigentlich immer ein Poniter-Inquisitor kommen.

    Naja, die jungen Leute üben halt. Als väterlicher Freund wäre ausnahmsweise Faust in die Fresse drücken gangbar, damit sie reif werden. Im Internet nicht erreichbar. Dann werden sie halt später reif.


Anmelden zum Antworten