Conosco const, che non può essere modificato dopo la creazione. Ma mi stavo chiedendo se esiste un modo per dichiarare una variabile che si imposta solo una volta e, successivamente, non può sovrascrivere. Nel mio codice, vorrei evitare la variabile bool
avendo uno nFirst
che, una volta impostato su nIdx
, non può essere impostato sul nuovo valore di nIdx
.È possibile definire una variabile che può essere impostata solo una volta?
Il mio codice:
int nFirst = 0;
int nIdx = 0;
bool bFound = false;
BOOST_FOREACH(Foo* pFoo, aArray)
{
if (pFoo!= NULL)
{
pFoo->DoSmth();
if (!bFound)
{
nFirst= nIdx;
bFound = true;
}
}
nIdx++;
}
Nessuno built-in per quanto ne so, ma si può rotolare la propria classe questo lo fa abbastanza facilmente. –
No, non è possibile con le funzioni standard. –
Puoi creare la tua classe per questo. Ma l'approccio booleano originale è ciò che anche questa classe dovrà usare_, quindi non c'è differenza nelle prestazioni. –