Un tentativo di creare un membro di una struttura con attributo constexpr senza essere statico ha come risultato un errore del compilatore (vedere di seguito). Perché? per un singolo valore costante avrò questo valore in memoria fino a quando il programma non viene terminato al posto del solo scope di struct? dovrei tornare a usare una macro?Perché constexpr deve essere statico?
struct foo
{
constexpr int n = 10;
// ...
};
error: non-static data member cannot be constexpr; did you intend to make it static?
Beh, copiare non avrebbe molto senso. – Ben
Molto meglio una volta nella memoria statica che molte volte, una in ogni istanza della struttura. – chris
Perché dovresti avere una copia di 'constexpr' per ogni oggetto? –