polymorphic_allocator: quando e por que devo usá-lo?
Aqui é a documentação emcppreference, aqui é o rascunho de trabalho.
Devo admitir que não entendi qual é o verdadeiro objetivo depolymorphic_allocator
e quando / por que / como devo usá-lo.
Como exemplo, opmr::vector
tem a seguinte assinatura:
namespace pmr {
template <class T>
using vector = std::vector<T, polymorphic_allocator<T>>;
}
O que faz opolymorphic_allocator
oferta? O que faz ostd::pmr::vector
oferecer também em relação à moda antigastd::vector
? O que posso fazer agora que não pude fazer até agora?
Qual é o real objetivo desse alocador e quando devo usá-lo realmente?