Программы на C++. Форум разработчиков
Anonymous
Можно ли использоваться `std :: allocator` для обработки полиморфных объектов?
Сообщение
Anonymous » 15 мар 2025, 17:33
Я пытаюсь написать класс 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]
1742049225
Anonymous
Я пытаюсь написать класс RAII общего назначения - очень похож на умный указатель, но он обрабатывает создание, а также разрушение. Это суть этого: < /p> [code]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]