Zitat von
tommie-lie:
Zitat von
Chewie:
Code:
Matrix* m = new Matrix(3);
m(0,1) := 56.45;
Ne, iss klar, mit ":=" kann das auch nicht gehen
Code:
Matrix* m = new Matrix(3);
(*m)(0,1) = 56.45;
geht immer noch nicht?
Hehe
Ups.
Die (*m)(0,1) - Variante geht, ist aber hässlich. Naja, aber ist akzeptabel im Notfall.
Zitat von
Chewie:
Und warum ist so eine statische Methode schlechter Stil?
Nicht statische Methoden sind schlechter Stil. Schlechter Stil ist, Referenzen auf Dinge zurückzugeben, der der Caller freigeben muss, er aber aufgrund des Interfaces nicht darauf schließen kann, daß er das muss, ergo Referenzen auf dynamisch erzeugte Objekte. Gibst du einen Pointer zurück, ist klar, daß das Objekt wieder freigegeben werden muss. Eine Referenz auf den Rückgabewert macht allenfalls bei einigen Patterns Sinn[/quote]
Ack. Ich hatte dich so verstanden, dass es generell schlechter Stil sei, dass eine statische Methode Objekte zurückliefert, sei es als referenz, als Zeiger oder als was-auch-immer.
Naja, so wies aussieht, werd ich mich damit abfinden, den Zeiger manuell zu derefenzieren.
Danke aber für die Literatur und die Vektor-Klasse, Olli.
Operatoren, die ich überladen möchte, sind halt dieser Subscript-Operator und Operatoren zum Multiplizieren. Ob ich sonst noch was brauch, weiß ich noch nicht.
Aber auf jeden Fall großen Dank schon mal.