030
15.08.2003, 12:26 Uhr
0xdeadbeef
Gott (Operator)
|
Stimmt ja, this ist eine lokale Variable. Ich hab das immer anders aufgefasst, weil this ja eigentlich eine instanzspezifische Sache ist. OK, ich muss ein bisschen denken, wir reden in ein paar Stunden weiter (hoffentlich).
Allerdings - mal ganz grundsätzlich - sonderlich schön ist diese ganze Default-Parameter-Geschichte in C++ eh nicht, weil sie die Trennung von Deklaration und Implementierung aufweicht. Welchen Wert ein Parameter per default annimmt, ist eigentlich Implementierung. Wirklich durchgestylt wäre sowas:
C++: |
//.h class A { int foo(int, opt int); };
//.cpp int A::foo(int x, opt int y = 0) { return x + y; }
|
und damit gingen locker auch solche Schweinereien:
C++: |
//.h class A { void foo(int, opt int, opt int, opt B& ); };
//.cpp void A::foo(int x, opt int y = 0, opt int z = x*y, opt B &b = B(this)) { }
|
-- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra Dieser Post wurde am 15.08.2003 um 12:32 Uhr von 0xdeadbeef editiert. |