capypad
0 Tage Serie
cpp / intermediate
Snippet

Das 'mutable'-Schlüsselwort

Das Schlüsselwort mutable erlaubt es, ein bestimmtes Element einer Klasse zu ändern, selbst wenn auf das Objekt über eine const-Referenz oder innerhalb einer const-Memberfunktion zugegriffen wird.

snippet.cpp
cpp
1
2
3
4
5
6
7
8
class Image {
mutable bool cacheValid = false;
public:
void render() const {
// Perform heavy rendering...
cacheValid = true; // Allowed despite const function
}
};
Erklärung
1
mutable bool cacheValid
Markiert die Variable als veränderbar innerhalb von const-Kontexten.
2
void render() const
Eine Memberfunktion, die verspricht, den logischen Zustand des Objekts nicht zu ändern.