Junior — Middle
Kam paredzēts atslēgas vārds mutable iekšā metodē, kas ir deklarēta kā nemainīga?
sobes.tech AI
Atbilde no AI
C++ valoda atslēgas vārds mutable ļauj mainīt objekta datu locekli pat iekš const metodes. Parasti const metode nevar mainīt objekta stāvokli, bet ir gadījumi, kad ir nepieciešams glabāt maināmus datus, kas neietekmē objekta loģisko nemainīgumu, piemēram, kešatmiņu vai piekļuves skaitītāju.
Piemērs:
class Example {
mutable int cache;
public:
Example() : cache(0) {}
int getValue() const {
// Var mainīt cache, neskatoties uz to, ka metode ir const
cache++;
return cache;
}
};
Šeit cache var tikt mainīts iekš getValue() const, jo tas ir deklarēts kā mutable.