Ho un valore costante che non cambia mai durante l'esecuzione, ma è impossibile sapere fino al momento dell'esecuzione.C++ Assegnare un valore const in fase di esecuzione?
C'è un modo per dichiarare una costante (o come membro di una classe o meno) senza definirla e anche assegnare un valore calcolato una volta (e solo una volta) viene determinato; o dovrò ricorrere a una dichiarazione non const e usare la codifica S & Ps (ALL_CAPS
nomi di variabili, static
dichiarazione se in una classe, ecc.) a provare e impedirgli di cambiare?
PRECISAZIONE:
se queste sono buone risposte, la situazione del mondo reale che ho è più complicato:
Il programma ha un ciclo principale che corre continuamente tra il trattamento e il rendering; l'utente può impostare le opzioni richieste e una volta impostate non cambieranno mai fino al riavvio del programma. Una funzione "Inizializza" è impostata per tutto ciò che può essere determinato prima del ciclo principale, ma i valori che dipendono dall'interazione dell'utente devono essere eseguiti nel mezzo del ciclo durante la fase di elaborazione. (Al momento, vengono in mente tecniche di archiviazione dei dati persistenti ...)
Per quanto riguarda il chiarimento. Sembra che tu abbia un ciclo e desideri che alcune variabili "diventino" const a un certo punto nel tempo. Questo non è fattibile; una variabile è const o non lo è. –