mutable C++ изменение членов константного объекта
1) mutable ключевое слово применяется к не константным и нестатическим членам класса.
2) Если объект объявить как константный, то mutable члены объекта можно будет изменить.
class Point{ // Класс Point
public:
mutable int x; // Координата х
int y; // Координата у
Point(int a, int b) : x(a), y(b){}; // Конструктор (без него нельзя создать константный объект)
};
int main(void) {
const Point pt(10, 20); // Создаем объект
pt.x = 40; // Так как x - mutable, его можно менять даже у константного объекта
pt.y = 50; // Ошибка! У константного объекта нельзя менять члены.
}
2023-10-22
Понравилась страница?
Добавить в закладки
Или поделиться!
Связанные темы
Конструктор в C++. Конструктор копирования и оператор присваивания. delete C++ оператор освобождения памяти и спецификатор ограничения доступа explicit С++ запрет неявных преобразования при вызове конструктора friend C++ дружественная функция имеющая доступ к закрытым членам класса mutable C++ изменение членов константного объекта new C++ динамическое выделение памяти private С++, С++ приватные члены класса, С++ закрыты члены класса protected C++ указание защищенных членов класса public С++, С++ открытые члены класса struct С++ структура this C++ указатель на текущий объект класса virtual C++ виртуальные функции