002
21.09.2007, 09:49 Uhr
stephanw
localhorst
|
Und auch in C++ muss man sie nicht verteufeln, aber mit Bedacht und sehr sparsam verwenden.
Dein obiges Beispiel ist unglücklich. Ebenso ist ein
sinnfrei, da geht auch ein
C++: |
const int MY_SIZE = 65;
|
und sollte vorgezogen werden.
Aber gerade bei Log-Meldungen kann es wiederum sinnvoll sein. Der C/C++ Preprozessor hat definiert die Macros __FILE__ und __LINE__. File ist eine Zeichenkette des aktuellen Dateinamens und Line die Zeilennummer.
Wenn man jetzt einen Fehler ins Logfile schreiben will, könnte man
C++: |
void logError(const char* msg, const char* fileName, int line);
if (p == 0) logError("Pointer is invalid", __FILE__, __LINE__);
|
schreiben. Da finde ich es nicht blöd, das zu vereinfachen:
C++: |
#define LOGERROR(msg) logError(msg,__FILE__,__LINE__)
LOGERROR("Pointer is invalid");
|
-- Reden ist Schweigen und Silber ist Gold. |