Philosophie von C++: Objekte so lokal wie möglich zu halten und so spät wie möglich zu definieren
-
Ich finde 'Definieren' auch schlecht. Auch bei Funktionen finde ich 'Deklarieren' und 'Definieren' verwirrend. Warum hat man es nicht 'Deklaration' und 'Implementierung' genannt?
-
Naja, du definierst doch was die Funktion macht, oder?
So finde ich das schon besser..
-
Ich beziehe mich auf den Threadtitel. Dort geht es um Objekte, nicht um Templates. Es geht auch nicht um
int
oder ander built-in Datentypen, sondern um Dinge in C++, die einen Konstruktor haben. Warum sollte man sonst deren 'Definition' weitestgehend herauszoegern. Dabei gehoertstd::complex<double>
auch nicht zur Zielgruppe, da dessen Konstruktor fast trivial ist.
-
Hacker schrieb:
Naja, du definierst doch was die Funktion macht, oder?
So finde ich das schon besser..Man könnte sich sehr viel Mühe geben und "definieren" eher umgangssprachlich benutzen: "Ich definiere, daß es diese Funktion gibt, mit Inhalt werde ich sie später füllen". Aber dann kann ich mit der selben sprachlichen Axt schreiben "Ich implementiere, daß es die Funktion gibt, mit Inhalt werde ich sie später füllen".
-
knivil schrieb:
Ich beziehe mich auf den Threadtitel. Dort geht es um Objekte, nicht um Templates. Es geht auch nicht um
int
oder ander built-in Datentypen, sondern um Dinge in C++, die einen Konstruktor haben. Warum sollte man sonst deren 'Definition' weitestgehend herauszoegern. Dabei gehoertstd::complex<double>
auch nicht zur Zielgruppe, da dessen Konstruktor fast trivial ist.Dann gibt es Null Grund, "instanziieren" vor "definieren" zu bevorzugen.
-
Soll ich jetzt anfangen mit Wikipedia zu argumentieren? Fuer die Objekterstellung bevorzuge ich 'Instanziierung' gegenueber 'Definition'. 'Definieren' ist fuer mich fehl am Platz.
-
knivil schrieb:
Soll ich jetzt anfangen mit Wikipedia zu argumentieren? Fuer die Objekterstellung bevorzuge ich 'Instanziierung' gegenueber 'Definition'. 'Definieren' ist fuer mich fehl am Platz.
Also auch für "int i;" bevorzugst Du "Instanziierung"?
Dich stört also "Philosophie von C++: Objekte so lokal wie möglich zu halten und so spät wie möglich zu definieren" und Du willst lieber "Philosophie von C++: Objekte so lokal wie möglich zu halten und so spät wie möglich zu instanziieren"?
Warum? Was soll an "Objekte definieren" anderes sein als an "Objekte instanmziieren"? Dein ungewöhnliches Wort bringt doch nur Unklarheit rein, weil man meinen könnte, Du würdest mit "instanziieren" nur das Definieren von Klasseninstanzen meinen.
-
volkard schrieb:
Hacker schrieb:
Naja, du definierst doch was die Funktion macht, oder?
So finde ich das schon besser..Man könnte sich sehr viel Mühe geben und "definieren" eher umgangssprachlich benutzen: "Ich definiere, daß es diese Funktion gibt, mit Inhalt werde ich sie später füllen". Aber dann kann ich mit der selben sprachlichen Axt schreiben "Ich implementiere, daß es die Funktion gibt, mit Inhalt werde ich sie später füllen".
Visual Assist nennt es auch "Create Implementation".
http://www.wholetomato.com/products/features/createImplementation.asp
-
@volkard: Ja, mein Verstaendnis von Objekt ist wohl ein anderer. Ich habe nochmal nachgeschlagen: Fuer C++ reicht ein zusammenhaengender Speicherbereich aus, um das Objekt zu nennen.
-
Instanziieren ist doch auch doof, egal ob ich jetzt ein 'Objekt' instanziiere oder
eine Instanz. Ich erstelle immer Exemplare einer Klasse.