Шаблон std :: unique_ptr
имеет два параметра: тип указатель и тип удалителя. Этот второй параметр имеет значение по умолчанию, поэтому обычно вы просто пишете что-то вроде std :: unique_ptr
.
Параметр std :: shared_p В шаблоне tr
есть только один параметр: тип получателя. Но с этим вы также можете использовать настраиваемое средство удаления, даже если тип средства удаления не указан в шаблоне класса. В обычной реализации для этого используются методы стирания типов.
Есть ли причина, по которой та же идея не использовалась для std :: unique_ptr
?