Недавно я удивлен тем фактом, что std::unique_ptr
является приемлемым для элементов контейнеров STL, поскольку я думал, что эти элементы необходимы для предоставления функций ниже (эта страница говорит то же самое):
- открытый конструктор по умолчанию без аргументов
- конструктор общих копий
- Функция оператора присваивания публичных копий
- публичный деструктор
Но std::unique_ptr
не копируется, чтобы сделать указатель, который он содержит, принадлежащий одному объекту, что противоречит вышеприведенным требованиям.
Стандарт изменил требования? Если да, то каковы изменения? Возможно, достаточно подвижных объектов или скопированных? Я искал в Интернете, изменились ли требования с С++ 11, но я не могу найти страницу, которая мне помогает...