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
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.