So "*P = new cClass()" oder so "*p = new cClass"
-
Hallo Forum
Variante 1: cClass *p = new cClass();
Variante 2: cClass *p = new cClass;Ich glaube irgendwo mal gelesen zu haben das man die zweite Variante bevorzugen soll. Ich weis nur nicht mehr wo. Google oder hier im Forum nach Konstrutoren zu suchen, gibt nur ein großen großen Berg an Ergebnissen die alle nichts damit zu tun haben. (Ist wohl zu Speziell)
Also kann mir jemand sagen was der Unterschied ist?
Lichtlein
-
Nur bei POD-Typen gibt es einen Unterschied: Die Version mit Klammern führt eine Default-Initialisierung durch, die ohne Klammern keine.
int* p = new int(); // *p == 0 int* q = new int; // *q nicht initialisiert
-
Und genau daher würde ich die Variante mit () im Allgemeinen vorziehen.
-
() ist zu Java-like. Bääh.
-
Aus Konsistenz zum normalen Konstruktoraufruf ziehe ich die Variante ohne () vor. Wer nutzt schon PODs...
-
rabutesh schrieb:
Aus Konsistenz zum normalen Konstruktoraufruf ziehe ich die Variante ohne () vor.
Konsistenz zu was?
MyClass a; MyClass b(4.7); // aber MyClass(); MyClass(4.7);
-
-
Gesundheit.
-
Gehirn.
-
Die () ist ganz interessant , wenn man sachen in den konstruktor programmiert , und gleich verwenden will.Ist wharscheinlich kein guter stil , sieht aber trotzdem ganz gut aus
z.B.
Device* Dev = new Device(1024,768,"Head",false);
-
() schrieb:
[...]Ist wharscheinlich kein guter stil , sieht aber trotzdem ganz gut aus[...]
Wie willst Du denn Objekte sonst konstruieren?
-
Ja kläre uns auf wie du das machen willst.
-
hustbaer schrieb:
Gehirn.
-
Kommen eigentlich auch noch sinnvolle Posts? Ab 314159265358979's Beitrag kann der Threadersteller nichts mehr mit den Antworten anfangen. Wäre gut, wenn ihr in Zukunft ernstgemeinte Themen nicht lächerlich machen würdet, für Fragesteller ist das recht mühsam. Und wenn man nichts Sinnvolles beizutragen hat, schreibt man eben mal nichts, statt mit einem vollständig sinnfreien und unangebrachten Java-Bash zu beginnen
-
hustbaer ist viel zu inaktiv, als dass ich eine Gelegenheit, ihn zu provozieren, auslassen könnte. Aber du hast Recht, war nicht besonders sinnvoll
-
314159265358979 schrieb:
Aber du hast Recht, war nicht besonders sinnvoll
+1. Dieser Thread ist nicht mehr zu retten, aber wenn du noch einmal mit Absicht so eine große Aufräumaktion wie in dem "Aus Fehlern gelernt"-Thread nötig machst, dann verpasse ich dir erst einmal eine Pause. Ich kann nichts weniger leiden als Leute, die mir Arbeit verursachen.
-
Absichtlich? Was kann ich denn für die dümmlichen Reaktionen? dot braucht shared_ptr ja offenbar auch nicht so dringend, so falsch kann ich also nicht liegen.
-
314159265358979 schrieb:
Absichtlich? Was kann ich denn für die dümmlichen Reaktionen? dot braucht shared_ptr ja offenbar auch nicht so dringend, so falsch kann ich also nicht liegen.
Leute die mich für dumm verkaufen wollen, mag ich auch nicht. Meinst du ich sehe nur den vordergründigen Sinn deiner Worte? Wenn jemand absichtlich Streit sucht, dann merke ich das.
-
Dann merkst du eben falsch. Meine Meinung hab ich euch kundgetan, die Reaktionen sind nicht meine Angelegenheit.
-
Egal in welchem Thread 314159265358979 postet, danach ist der Thread fast immer zerstoert. Siehe Projekte Forum. Kann das nervige Kleinkind nicht mal jemand bannen?