Можно ли использоваться `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]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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