Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Was macht "#define"???

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
12.08.2004, 16:46 Uhr
virtual
Sexiest Bit alive
(Operator)


@pablo
Dann solltest Du aber auch ein entsprechendes Beispiel machen, denn bei denen von dir geschriebenen Source ist das alles ziemlich unerheblich, ob geklammert oder nicht: funktioniert aus ganz anderen Gründen nicht, zB keine Rekursion in Macros möglich...

Der Grund, warum man Klammern sollte ist zB:

C++:
#define mul_false(a,b) a*b
mul_false(1+1, 2+2)
// expandiert zu 1+1*2+2 = 1 + 2 + 2 = 5


aber

C++:
#define mul_true) (a)*(b)
mul_true(1+1, 2+2)
// expandiert zu (1+1)*(2+2) = 2*4 = 8


--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 12.08.2004 um 16:46 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
12.08.2004, 17:01 Uhr
Pablo
Supertux
(Operator)


ich wollte ein solches Beispiel posten aber hab nicht sowas hingekriegt.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
12.08.2004, 22:15 Uhr
Hans
Library Walker
(Operator)


Hi,
noch was bezüglich Konstanten und Variablen.
Konstanten sind Werte, die einmal definiert werden, und anschliessend nie mehr ändern können.
Variablen sind Werte, die sich dauernd ändern.
Der Vorteil von const gegenüber #define ist der, dass const typisiert ist, #define aber nicht. Dadurch kann der Compiler Typenkonflikte (type mismatch errors) feststellen, und anmeckern. Bei #define kann er das nicht.
So, genug klug geschi.... - aber das wollte ich doch mal erwähnt haben

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 12.08.2004 um 22:19 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
13.08.2004, 10:05 Uhr
Unwissende
...die wirklich Unwissende 8-)


juhu,
dass const typisiert sei, define aber nicht hab ich auch in den unendlichen Weiten meiner C-Beispiels-Aufschriebe gefunden..
--
__________________________________
Unwissenheit ist vorläufig- Dummheit für immer
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
13.08.2004, 10:34 Uhr
virtual
Sexiest Bit alive
(Operator)


Soooo dolle konstant ist ein define nun auch ja auch nicht:

C++:
#define MEINE_KLEINE_KONSTANTE 100
#undef MEINE_KLEINE_KONSTANTE
#define MEINE_KLEINE_KONSTANTE 200


Also Macros auf gleiche Stufe mit Konstanten stellen zu wollen, ist schon ein wenig vermessen....
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
16.08.2004, 09:56 Uhr
Unwissende
...die wirklich Unwissende 8-)


Och menno, ich will doch auch nur mal recht haben
--
__________________________________
Unwissenheit ist vorläufig- Dummheit für immer
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
16.08.2004, 11:36 Uhr
virtual
Sexiest Bit alive
(Operator)


Gräme Dich nicht, die meisten setzen defines mit Konstanten gleich und ich bin nur ein kleiner Korinthenkacker
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: