Возможный дубликат:
Как предотвратить создание объекта в куче?Привет,
Я слышал концепцию, называемую классом на основе стека. Т.е. мы не можем создать экземпляр класса, используя new.
Я слышу это впервые. Один из способов реализовать это - частная перегрузка оператора 'new'.
Если кто-нибудь знает подробности о классе на основе стека, пожалуйста, сообщите мне.
Вместо перегрузки нового оператора следуйте шаблону Factory .
Все дело в создании экземпляра:
AnotherClass::SomeMethod(...) {
MyClass stackBased;
MyClass *heapBased;
*heapBased = new MyClass();
*heapBased->DoSomething();
delete heapBased;
stackBased.DoSomething();
...
}
Класс на основе стека автоматически выделяется, инстанцируется и освобождается в стеке, тогда как вам нужно делать все это самостоятельно для работы в куче.