Класс MFC CArray имеет два параметра шаблона (из MSDN ):
template < class TYPE, class ARG_TYPE = const TYPE& >
class CArray
...
Параметр по умолчанию для ARG_TYPE
является const TYPE &
, и некоторые вопросы по SO спрашивают, когда использовать тип, отличный от значения по умолчанию (например, Должен ли ARG_TYPE для CArray быть const & или нет , или В чем разница между CArray и CArray? ).
Теперь у меня следующие вопросы: существуют ли разумные варианты использования CArray, когда ARG_TYPE не соответствует TYPE
или const TYPE &
, например другой класс? Каковы причины такого использования?