[func.wrap]
Изменение: удалены конструкторы, использующие распределители.
Обоснование: Нет консенсуса по реализации.
Влияние на исходную функцию:
действительный код C ++ 2014 может не компилироваться или может изменить значение в этом международном стандарте. В частности, построение std::function с помощью распределителя плохо сформировано, и конструкция uses-allocator не передает распределитель std::function конструкторам в этом международном стандарте.
[util.smartptr.shared]
Изменение: другое ограничение на конверсии из unique_ptr.
Обоснование: добавление поддержки массивов с shared_ptrпомощью синтаксиса shared_ptr<T[]> и shared_ptr<T[N]>.
Влияние на исходную функцию:
действительный код C ++ 2014 может не компилироваться или может изменить значение в этом международном стандарте. Например:
#include <memory>
std::unique_ptr<int[]> arr(new int[1]);
std::shared_ptr<int> ptr(std::move(arr)); // error: int(*)[] is not compatible with int*