Ich weiß von const, das kann nach der Erstellung nicht geändert werden. Aber ich frage mich, ob es eine Möglichkeit gibt, eine Variable zu deklarieren, die Sie nur einmal setzen und danach nicht überschreiben können. In meinem Code möchte ich die bool
Variable vermeiden, indem Sie eine nFirst
haben, die, einmal auf nIdx
gesetzt, nicht auf den neuen Wert von nIdx
gesetzt werden kann.Kann eine Variable definiert werden, die nur einmal gesetzt werden kann?
Mein Code:
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++;
}
Keine eingebaut in AFAIK, aber Sie können Ihre eigene Klasse rollen das macht das ganz leicht. –
Nein, das ist mit Standardfunktionen nicht möglich. –
Sie können dafür eine eigene Klasse erstellen. Aber der ursprüngliche boolesche Ansatz ist, was diese Klasse auch verwenden muss, so dass es keinen Unterschied in der Leistung gibt. –