Пространства имён
Варианты
Действия

std::shared_ptr::operator=

Материал из cppreference.com
< cpp‎ | memory‎ | shared ptr

 
 
 
 
 
shared_ptr& operator=( const shared_ptr& r );
(1)
template< class Y >
shared_ptr& operator=( const shared_ptr<Y>& r );
(1)
shared_ptr& operator=( shared_ptr&& r );
(2)
template< class Y >
shared_ptr& operator=( shared_ptr<Y>&& r );
(2)
template< class Y >
shared_ptr& operator=( std::auto_ptr<Y>&& r );
(3)
template< class Y, class Deleter >
shared_ptr& operator=( std::unique_ptr<Y,Deleter>&& r );
(4)
Заменяет управляемого объекта с одной управляемых r.
Оригинал:
Replaces the managed object with the one managed by r.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
1)
Акции собственности на объект, управляемый r. Если r управляет не объект, *this управляет ни один объект не слишком. Шаблонный перегрузки не участвует в разрешении перегрузки, если Y* не неявно преобразуются в T*. Эквивалент shared_ptr<T> p(r).swap(*this).
Оригинал:
Shares ownership of the object managed by r. If r manages no object, *this manages no object too. The templated overload doesn't participate in the overload resolution if Y* is not implicitly convertible to T*. Equivalent to shared_ptr<T> p(r).swap(*this).
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
2)
Move-присваивает shared_ptr от r. После выполнения задания, *this содержит копию предыдущего состояния r, r пуст. Шаблонный перегрузки не участвует в разрешении перегрузки, если Y* не неявно преобразуются в T*. Эквивалент shared_ptr<T> p(std::move(r)).swap(*this).
Оригинал:
Move-assigns a shared_ptr from r. After the assignment, *this contains a copy of the previous state of r, r is empty. The templated overload doesn't participate in the overload resolution if Y* is not implicitly convertible to T*. Equivalent to shared_ptr<T> p(std::move(r)).swap(*this).
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
3) 4)
Трансферы собственности на объект, управляемый r в *this. Deleter, связанные с r сохранен для будущих удаления управляемого объекта. r управляет ни один объект после вызова. Эквивалент shared_ptr<T> p(std::move(r)).swap(*this).
Оригинал:
Transfers the ownership of the object managed by r to *this. The deleter associated to r is stored for future deletion of the managed object. r manages no object after the call. Equivalent to shared_ptr<T> p(std::move(r)).swap(*this).
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

Содержание

[править] Параметры

r -
другой смарт-указатель разделить собственность или приобретение собственности от
Оригинал:
another smart pointer to share the ownership to or acquire the ownership from
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Возвращаемое значение

*this

[править] Notes

Реализация может отвечать требованиям без создания временного объекта shared_ptr.
Оригинал:
The implementation may meet the requirements without creating a temporary shared_ptr object.
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.

[править] Исключения

1-2)
noexcept-спецификация:  
noexcept
  (начиная с C++11)
3)
(Нет)
Оригинал:
(none)
Текст был переведён автоматически через Google Translate.
Вы можете проверить и исправить перевод. Для инструкций кликните сюда.
4-5)
noexcept-спецификация:  
noexcept
  (начиная с C++11)

[править] Пример

[править] См. также

заменяет объект, которым владеет
(public функция-член) [edit]