Есть ли причина, по которой unique_ptr::reset
не имеет перегрузок, которые принимают const deleter&
и deleter&&
для соответствия его конструкторам, которые принимают их как второй аргумент?
Сохраненный дебетер в unique_ptr
был бы скопирован или перенесен с аргументом из reset
. Если делектор является не подлежащим копированию или невозмутимым, вызов соответствующей перегрузки reset
не будет компилироваться. Похоже, что это будет согласованное поведение с конструкторами.