[linux-l] Re: do{ . } while (0)

Rocco Rutte pdmef at cs.tu-berlin.de
Do Nov 24 08:52:34 CET 2005


Hi,

* Jan-Benedict Glaw [05-11-24 00:01:48 +0100] wrote:
>On Wed, 2005-11-23 23:51:35 +0100, Oliver Bandel <oliver at first.in-berlin.de> wrote:

>> {}
>> ist ein Block in C.
>> Man kann am Anfang jedes Blockes auch lokale Variablen definieren...
>> ...wissen übrigens die wenigsten, weshalb sie das lokale Definieren
>> von Variablen als "++" von C++ darstellen (im ggs. zu C) ;-)

>...und viele derer, die es wissen, benutzen es wissentlich nicht. Ich
>finde es ganz schön, wenn man einmal, am Anfang der Funktion, sieht,
>welche Variablen benutzt werden. Mal schnell on the fly noch ein paar
>weitere benutzen zu können ist nett, erhöht aber IMHO nicht die
>Lesbarkeit.

NACK, weil es durchaus Situationen gibt, in denen man das will. Wenn man 
längere Funktionen hat im Sinne von "passt nicht auf einmal auf den 
Schirm", dann kann das Feature praktisch sein, wenn man die Variable 
lokal in einem Block definiert, der nur selten ausgeführt wird, statt 
sie global in der ganzen Funktion sichtbar zu machen. Dann kann man 
nämlich auch lange mit Suchen und Zweifeln verbringen, wieso Variable XY 
jetzt überhaupt gebraucht wird.

Oder wenn man in einer von X case-Anweisungen mal eine Variable braucht, 
macht es mehr Sinn, IMHO, da einen Block zu nehmen statt sie in der 
ganzen Funktion zu haben.

   bye, Rocco
-- 
:wq!



Mehr Informationen über die Mailingliste linux-l