Es gibt einige Situationen, in denen Laufzeit-Konstanten einfach nicht genügen und Kompilierzeit-Konstanten erforderlich sind. Man kann sich jede Menge Ärger ersparen, wenn man sich dieser Situationen bewusst ist. Selbst wenn eine Variable als Konstante bezeichnet wird: Wird sie nur zur Laufzeit initialisiert, kann sie nicht eingesetzt werden für
- Arraygrenzen
- Case-Ausdrücke
- Länge von Bitfeldern
- Zähler-Initialisierung
- ganzzahlige oder aufzählende non-type-Template-Argumente
In Tabelle A wird jeweils ein Beispiel gezeigt.
|
Zu beachten ist außerdem, dass manche Optimierungen nicht ausgeführt werden, wenn eine Kompilierzeit-Konstante in eine Laufzeit-Konstante umgewandelt wird, wie Listing B zeigt.
Neueste Kommentare
Noch keine Kommentare zu Umwandlung von Kompilierzeit-Konstanten zu Laufzeit-Konstanten und umgekehrt
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.