Разница между стандартными и пользовательскими специализациями iterator_traits заключается в том, что стандартные специализации предоставляются библиотекой стандартных шаблонов, например, для типов указателей T*, что позволяет использовать все алгоритмы, основанные на итераторах, с сырыми указателями. 4 Также библиотека стандартных шаблонов предоставляет частичные специализации для некоторых адаптеров стандартных итераторов. 4
Пользовательские специализации позволяют извлекать информацию об итераторе, даже если тип не предоставляет стандартные определения типов. 4 Например, пользовательские специализации могут определить тип-член iterator_concept как один из меток категорий итераторов, чтобы указать соответствие концепциям итераторов. 4
Таким образом, стандартные специализации обеспечивают базовые возможности для работы с итераторами, а пользовательские специализации позволяют учитывать особенности конкретных пользовательских типов итераторов. 14