На что влияет шаблонный тип, который я использую при создании объекта std::pmr::polymorphic_allocator?

Использую я кастомный тип или тип по умолчанию (в c++20 значение типа по умолчанию используется std::byte) объект так и так создаётся валидный. Вопрос: какой тогда тип использовать в подобных конструкциях и важно ли это вообще?

#include <memory_resource>

struct S{};

int main()
{
    auto ptr1 = std::allocate_shared<S>(std::pmr::polymorphic_allocator<std::byte>());
    auto ptr2 = std::allocate_shared<S>(std::pmr::polymorphic_allocator<S>());

    return 0;
}

Ответы (0 шт):