Я видел несколько примеров использования allocator в качестве члена класса в шаблонном классе.Например:
template <class T, class Alloc = std::allocator<T>> class myVector
{
public:
...
protected:
std::allocator<value_type> _alloc;
...
private:
...
};
Но код все еще работает, когда я удаляю аргумент шаблона значения по умолчанию, например template <class T> class myVector
.Так нужно ли нам добавлять аргумент шаблона по умолчанию, когда у нас есть распределитель в качестве члена класса?Если ответ да, почему?