cppreference.com
Search
Create account
Log in
Namespaces
Page
Discussion
Variants
Views
View
Edit
History
Actions
std::shared_ptr<T>::
swap
From cppreference.com
<
cpp
|
memory
|
shared ptr
C++
Language
Standard Library Headers
Freestanding and hosted implementations
Named requirements
Language support library
Concepts library
(C++20)
Diagnostics library
Utilities library
Strings library
Containers library
Iterators library
Ranges library
(C++20)
Algorithms library
Numerics library
Input/output library
Localizations library
Regular expressions library
(C++11)
Atomic operations library
(C++11)
Thread support library
(C++11)
Filesystem library
(C++17)
Technical Specifications
[edit]
Utilities library
Type support
(basic types, RTTI, type traits)
Dynamic memory management
Error handling
Program utilities
Variadic functions
Library feature-test macros
Date and time
Function objects
initializer_list
(C++11)
bitset
hash
(C++11)
integer_sequence
(C++14)
Relational operators
(deprecated in C++20)
rel_ops::operator!=
rel_ops::operator>
rel_ops::operator<=
rel_ops::operator>=
Comparisons
(C++20)
strong_order
weak_order
partial_order
strong_equal
weak_equal
strong_ordering
weak_ordering
partial_ordering
strong_equality
weak_equality
is_eq
is_neq
is_lt
is_lteq
is_gt
is_gteq
common_comparison_category
Common vocabulary types
pair
tuple
(C++11)
apply
(C++17)
make_from_tuple
(C++17)
optional
(C++17)
any
(C++17)
variant
(C++17)
Swap, forward and move
swap
exchange
(C++14)
forward
(C++11)
move
(C++11)
move_if_noexcept
(C++11)
Elementary string conversions
to_chars
(C++17)
from_chars
(C++17)
chars_format
(C++17)
Type operations
declval
(C++11)
as_const
(C++17)
launder
(C++17)
[edit]
Dynamic memory management
Smart pointers
unique_ptr
(C++11)
shared_ptr
(C++11)
weak_ptr
(C++11)
auto_ptr
(until C++17)
owner_less
(C++11)
enable_shared_from_this
(C++11)
bad_weak_ptr
(C++11)
default_delete
(C++11)
Allocators
allocator
allocator_traits
(C++11)
allocator_arg_t
(C++11)
allocator_arg
(C++11)
uses_allocator
(C++11)
uses_allocator_construction_args
(C++20)
make_obj_using_allocator
(C++20)
uninitialized_construct_using_allocator
(C++20)
scoped_allocator_adaptor
(C++11)
pmr::polymorphic_allocator
(C++17)
Memory resources
pmr::memory_resource
(C++17)
pmr::get_default_resource
(C++17)
pmr::set_default_resource
(C++17)
pmr::new_delete_resource
(C++17)
pmr::null_memory_resource
(C++17)
pmr::synchronized_pool_resource
(C++17)
pmr::unsynchronized_pool_resource
(C++17)
pmr::monotonic_buffer_resource
(C++17)
pmr::pool_options
(C++17)
Uninitialized storage
uninitialized_copy
uninitialized_fill
uninitialized_move
(C++17)
uninitialized_default_construct
(C++17)
uninitialized_value_construct
(C++17)
destroy
(C++17)
uninitialized_copy_n
(C++11)
uninitialized_fill_n
uninitialized_move_n
(C++17)
uninitialized_default_construct_n
(C++17)
uninitialized_value_construct_n
(C++17)
destroy_n
(C++17)
destroy_at
(C++17)
raw_storage_iterator
(until C++20)
get_temporary_buffer
(until C++20)
return_temporary_buffer
(until C++20)
Garbage collection support
declare_reachable
(C++11)
undeclare_reachable
(C++11)
declare_no_pointers
(C++11)
undeclare_no_pointers
(C++11)
pointer_safety
(C++11)
get_pointer_safety
(C++11)
Miscellaneous
pointer_traits
(C++11)
to_address
(C++20)
addressof
(C++11)
align
(C++11)
assume_aligned
(C++20)
C Library
malloc
aligned_alloc
(C++17)
calloc
realloc
free
Low level memory management
[edit]
std::shared_ptr
Member functions
shared_ptr::shared_ptr
shared_ptr::~shared_ptr
shared_ptr::operator=
Modifiers
shared_ptr::reset
shared_ptr::swap
Observers
shared_ptr::get
shared_ptr::operator*
shared_ptr::operator->
shared_ptr::operator[]
(C++17)
shared_ptr::use_count
shared_ptr::unique
(until C++20)
shared_ptr::operator bool
shared_ptr::owner_before
Non-member functions
std::swap
make_shared
make_shared_default_init
(C++20)
allocate_shared
allocate_shared_default_init
(C++20)
static_pointer_cast
dynamic_pointer_cast
const_pointer_cast
reinterpret_pointer_cast
(C++17)
get_deleter
operator==
operator|=
operator<
operator<=
operator>
operator>=
operator<<
atomic_xxx
functions
(deprecated in C++20)
std::atomic
<std::shared_ptr>
(C++20)
std::hash
Deduction guides
(C++17)
[edit]
void
swap
(
shared_ptr
&
r
)
noexcept
;
(since C++11)
Exchanges the contents of
*
this
and
r
[
edit
]
Parameters
r
-
smart pointer to exchange the contents with
[
edit
]
Return value
(none)