Voglio avere alcuni valori costanti nel mio programma, ad esempio, ho un valore costante TimeLimit in un'intestazione che è comunemente usata in altre classi, ma non so se
#define TimeLimit 30
è più sicuro di
static const int TimeLimit=30;
Inizialmente voglio usare const statico perché può causare meno tempo di compilazione quando il valore è cambiato, ma dopo aver considerato la sicurezza sospetto che dovrei #define per migliorare la sicurezza.
è vero che #define è più sicuro di const statico perché:
-
"# define" è incorporato nel codice compilato, mentre static int lascia una variabile in memoria, che un utente può modificare facilmente il valore di TimeLimit nel contenuto di memoria
-
Se si utilizza const statico, è più facile per l'utente conoscere il valore di TimeLimit perché estrarre il valore dalla memoria è più semplice dell'estrazione dal codice compilato.
è giusto?