Wo Umrechnungsfunktionen einfügen
-
Tim schrieb:
Funktionen. Dann kann man ggf. Überladungen anbieten. Makros haben ja, wie fricky schon erwähnt hat, hier keine Vorteile.
als alter überladung-freak kannste ja auch makros mit #undef 'überladen' (falls dir mal ein anderer umrechnungsfacktor für meilen-nach-kilometer einfällt, oder so).
-
Selbst Kernighan (der steht für das K in K&R C) sagt, dass man heute keine Macros und lieber inline-Funktionen nehmen soll.
-
was erlaubt ist, wird auch benutzt
-
rüdiger schrieb:
Selbst Kernighan (der steht für das K in K&R C) sagt, dass man heute keine Macros und lieber inline-Funktionen nehmen soll.
seine meinung sei ihm gegönnt. ich jedenfalls finde makros garnicht so schlecht. es gibt z.b. compiler, die können nicht inlinen, wenn sich die inline-funktionen in anderen übersetzungseinheiten befinden. da kann man zwar tricksen, indem die funktionen in eine .h-datei verfrachtet werden, aber ich finde ausführbaren code in header-dateien unschön. wenn du bestimmte optimierungen einschaltest, wird sowieso einiges 'ge-inlined', ob du nun 'inline' davor schreibst, oder nicht.
^^alles bezogen auf C, in C++ mag das anders sein.
-
Du findest ausführbaren Code in Header-Dateien "unschön", aber Macros sind doch auch nichts anderes?
MfG SideWinder
-
SideWinder schrieb:
Du findest ausführbaren Code in Header-Dateien "unschön", aber Macros sind doch auch nichts anderes?
hmmm ja, das stimmt schon. nur sind makros (bei mir jedenfalls, bis auf ganz wenige ausnahmen) sehr klein, weniger als 5 zeilen, meistens einzeiler. und durch die durchgängige grosschreibung erkennt man sie im code auch sofort als makro. für alles was grösser ist, oder verzweigungen und schleifen enthält, rückgabewerte hat, usw. nehme ich dann auch lieber funktionen. ist halt wie immer: man sollte etwas weder verteufeln noch damit übertreiben.