Modyfikowalne elementy członkowskie danych (C++)
To słowo kluczowe można stosować tylko do składowych danych innych niż statyczne, niestatyczne i nieprzywołacyjne dla klasy. Jeśli element członkowski danych jest zadeklarowany mutable
, jest to legalne, aby przypisać wartość do tego elementu członkowskiego z funkcji składowej const
.
Składnia
mutable member-variable-declaration;
Uwagi
Na przykład poniższy kod zostanie skompilowany bez błędu, ponieważ m_accessCount
został zadeklarowany GetFlag
jako mutable
, i dlatego można go zmodyfikować, mimo że GetFlag
jest funkcją const member.
// mutable.cpp
class X
{
public:
bool GetFlag() const
{
m_accessCount++;
return m_flag;
}
private:
bool m_flag;
mutable int m_accessCount;
};
Zobacz też
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla