В соответствии с N3290 std::unique_ptr
принимает аргумент deleter в своем конструкторе.
Однако я не могу получить это для работы с Visual С++ 10.0 или MinGW g++ 4.4.1 в Windows, а также с g++ 4.6.1 в Ubuntu.
Поэтому я опасаюсь, что мое понимание этого является неполным или неправильным, я не вижу смысла аргумента, который, по-видимому, игнорируется, может ли кто-нибудь представить рабочий пример?
Желательно также посмотреть, как это работает для unique_ptr<Base> p = unique_ptr<Derived>( new Derived )
.
Возможно, с некоторыми формулировками из стандарта для резервного копирования примера, то есть с каким-либо компилятором, который вы используете, он фактически выполняет то, что он должен делать?