C++ C++ - casts mit #define abkürzen

Crazy Driver

Ensign
Registriert
Jan. 2011
Beiträge
182
Also ich hatte folgendes vor:

Ich wollte die in C++ bevorzugten Casts mit #define abkürzen, da es kürzer ist
und ich es schneller schreiben kann ( () statt <> ).
Code:
#define dyncast(type) dynamic_cast<type>
#define ripcast(type) reinterpret_cast<type>
#define stacast(type) static_cast<type>
#define concast(type) const_cast<type>
Ist das denn aber noch guter Programmierstil, wenn man sich sowas abkürtzt?
 
Ich würde sagen, klar nein. Das machts sonst keiner, dass heißt wenn jemand anders deinen Code anschaut, wird er das nicht gewohnt sein. Wenn du deinen Code in einem Jahr anschaust, wirst du das auch nicht mehr gewohnt sein.
Der C Präprozessor sollte allgemein so sparsam wie möglich genutzt werden, ich benutze ihn fast ausschließlich zur Definition von globalen numerischen Konstanten. Der Präprozessor führt nur stupide Find/Replace Operationen druch, damit umgeht man das automatische Fehlerfinden des Compiler, bzw es wird erschwert.
In meinen Augen ist das damit leider ziemlich schlechter Stil :D.

Gruß,
misu

edit: Betrachte den Präprozessor als historisches Überbleibsel :D
 
Naja, mal abgesehen davon, würde ich wenn überhaupt gleich noch die Variable mit reinnehmen. Wie sieht denn ein
Code:
dyncast(int)(variable)
aus?
Code:
#define dyncast(type,var) dynamic_cast<int>(var)
//...
dyncast(int,variable)
Sieht doch eher brauchbar aus. Aber fernab, weshalb so etwas kurzes abkürzen?
 
Zurück
Oben