Можно ли использоваться `std :: allocator` для обработки полиморфных объектов?C++

Программы на C++. Форум разработчиков
Anonymous
Можно ли использоваться `std :: allocator` для обработки полиморфных объектов?

Сообщение Anonymous »

Я пытаюсь написать класс RAII общего назначения - очень похож на умный указатель, но он обрабатывает создание, а также разрушение. Это суть этого: < /p>

Код: Выделить всё

template 
struct dynamic_type_t {};

template 
inline constexpr dynamic_type_t dynamic_type {};

template 
class RAII
{
private:
T* m_ptr;

public:
template 
RAII(dynamic_type_t, Args&&... args) {
m_ptr = new DynamicType{std::forward(args)...};
}

~RAII() { delete m_ptr; }
};
< /code>
Теперь тестовый код работает безупречно: < /p>
#include 

struct Base
{
Base() = default;
virtual ~Base() { std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79506227/can-stdallocator-be-used-to-handle-polymorphic-objects[/url]

Вернуться в «C++»