Ist es besser, static const
vars als #define
Präprozessor zu verwenden? Oder hängt es vielleicht vom Kontext ab?
Was sind Vor- / Nachteile für jede Methode?
#define
oder static const
(für Zeichenfolgen) verwendet werden soll, hängt vom Initialisierungsaspekt ab (der in den folgenden Antworten nicht erwähnt wurde): Wenn die Konstante nur innerhalb einer bestimmten Kompilierungseinheit verwendet wird, gehe ich mit static const
, ansonsten verwende ich #define
- vermeiden Sie das Fiasko der Initialisierung der statischen Reihenfolge isocpp.org/wiki/faq/ctors#static-init-order
const
, constexpr
oder enum
oder jegliche Variation Werke in Ihrem Fall bevorzugen sie dann#define