А как же работает пользовательский модуль удаления std :: unique_ptr?

Согласно N3290 std :: unique_ptr принимает аргумент удаления в своем конструкторе.

Однако я не могу заставить это работать ни с Visual C ++ 10.0, ни с MinGW g ++ 4.4.1 в Windows, ни с g ++ 4.6.1 в Ubuntu.

Поэтому я опасаюсь, что мое понимание этого неполное или неправильное, я не вижу смысла аргумента удаления, который, по-видимому, игнорируется, поэтому может ли кто-нибудь предоставить рабочий пример?

Желательно, чтобы я также увидел как это работает для unique_ptr p = unique_ptr (new Derived) .

Возможно, с некоторыми формулировками из стандарта для поддержки примера, например, что с каким бы компилятором вы ни использовали, он действительно делает то, что должен делать?

55
задан Brian Tompsett - 汤莱恩 18 August 2015 в 00:04
поделиться