std::weak_ptr<T>:: operator=
From cppreference.net
C++
Memory management library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::weak_ptr
| Member functions | ||||
|
weak_ptr::operator=
|
||||
| Modifiers | ||||
| Observers | ||||
|
(C++26)
|
||||
|
(C++26)
|
||||
| Non-member functions | ||||
| Helper classes | ||||
|
(C++20)
|
||||
| Deduction guides (C++17) |
|
weak_ptr
&
operator
=
(
const
weak_ptr
&
r
)
noexcept
;
|
(1) | (depuis C++11) |
|
template
<
class
Y
>
weak_ptr & operator = ( const weak_ptr < Y > & r ) noexcept ; |
(2) | (depuis C++11) |
|
template
<
class
Y
>
weak_ptr & operator = ( const shared_ptr < Y > & r ) noexcept ; |
(3) | (depuis C++11) |
|
weak_ptr
&
operator
=
(
weak_ptr
&&
r
)
noexcept
;
|
(4) | (depuis C++11) |
|
template
<
class
Y
>
weak_ptr & operator = ( weak_ptr < Y > && r ) noexcept ; |
(5) | (depuis C++11) |
Remplace l'objet géré par celui géré par r . L'objet est partagé avec r . Si r ne gère aucun objet, * this ne gère également aucun objet.
1-3)
Équivalent à
std::
weak_ptr
<
T
>
(
r
)
.
swap
(
*
this
)
.
4,5)
Équivalent à
std::
weak_ptr
<
T
>
(
std
::
move
(
r
)
)
.
swap
(
*
this
)
.
Table des matières |
Paramètres
| r | - | pointeur intelligent pour partager un objet avec |
Valeur de retour
* this
Notes
L'implémentation peut satisfaire aux exigences sans créer un objet temporaire
weak_ptr
.
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Applicable à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 2315 | C++11 |
la sémantique de déplacement n'était pas activée pour
weak_ptr
|
activée |
Voir aussi
crée un nouveau
weak_ptr
(fonction membre publique) |
|
|
échange les objets gérés
(fonction membre publique) |