Back to questions
Junior — Middle
89
Каким образом можно запретить создание экземпляров класса в динамической памяти?
Answer from AI
sobes.tech AI
Чтобы запретить создание экземпляров класса в динамической памяти (через new), можно сделать оператор new приватным или удалить его объявление.
Пример на C++:
class MyClass {
public:
MyClass() {}
// запрет создания в динамической памяти
void* operator new(size_t) = delete;
void operator delete(void*) = delete;
};
int main() {
MyClass obj; // OK, на стеке
// MyClass* p = new MyClass(); // Ошибка компиляции
}
Таким образом, объекты можно создавать только на стеке или как статические, но не через new.