[linux-l] Designfrage bzgl. Deckverwaltung

Frank Reker frank at reker.net
Fr Nov 25 19:18:47 CET 2005


Am Fri 25. Nov 2005 16:27 +0000 schrieb Steffen Dettmer:

>* Frank Reker wrote on Tue, Nov 15, 2005 at 19:12 +0100:
>
>Wer unterstellt denn, dass Äpfel und Birnen überhaupt eine "numerische
>Reihenfolge" haben? Vielleicht sind meine enums nichtmal in einer
>Halbordnung!

tja, wenn sie nicht in numerischer reihenfolge sind, kann man auch
nicht darueber iterieren - zumindest nicht mit ++, stattdessen muss
man halt auf andere hilfskonstrukte ausweichen, aber das weis man 
dann ja.

>Wenn (const unsigned char*)"hallo" C++ ist, ist es Inline-Assembler auch
>;)

inline assembler ist eine compiler abhaengige erweiterung, aber
kein sprachstandard. wenn du c++ aber auf gcc reduzierst, dann ja.


>> no, in der vergangenheit hab ich auch wo's ging referenzen benutzt.
>> nur dann passiert's, dass man einen wert uebergibt, und gar nicht
>> beachtet, dass der wert ja evtl. veraendert werden kann, da es eine
>> referenz ist. 
>
>Erstens ist das mit Zeigern genauso, und zweitens schreibt man an const
>halt const ran :-) 

aber bei zeigern muss ich das explizit angeben.
retval = myfunc (&var);
hierbei ist klar, dass ich eine referenz uebergebe, und var nachher
einen anderen wert haben kann als vorher. bei:
retval = myfunc (var);
geh ich zuerst mal von einer wertuebergabe aus, also hat var nachher
den selben wert wie vorher. in c++ allerdings nicht, wenn myfunc als:
int myfunc (int &var); definiert wurde. 
ich muss mir also erst die definition von myfunc ansehen um das zu
wissen. im ersten fall seh ich sofort, im aufruf, dass es sich um 
eine referenz handelt. im zweiten fall wird sowas leicht uebersehen
und fuehrt dann zu schwer auffindbaren fehlern.
deshalb finde ich, ist:
int myfunc (int *var); vorzuziehen.


-- 
Don't worry be happy ...
Ciao Frank
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20051125/cdf5c62e/attachment.sig>


Mehr Informationen über die Mailingliste linux-l