Почему нет специализации std :: shared_ptr <T []>?

Стандарт предусматривает шаблон специализацииstd::unique_ptr который правильно называетdelete[] от его деструктора:

void func()
{
   std::unique_ptr< int[] > arr(new int[10]);

   .......
}

С участиемstd::shared_ptr эта специализация недоступна, поэтому необходимо предоставить средство удаления, которое правильно вызываетdelete[]:

void func()
{
    // Usage
    shared_ptr array (new double [256], [](double* arr) { delete [] arr; } ); 

    ..............
}

Это просто недосмотр? (так же, как естьstd::copy_if) или есть причина?

Ответы на вопрос(1)

Ваш ответ на вопрос