CARVIEW |
Select Language
HTTP/1.1 301 Moved Permanently
Server: nginx
Date: Wed, 23 Jul 2025 07:05:14 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Location: /reference/memory/shared_ptr/reset/
HTTP/1.1 200 OK
Server: nginx
Date: Wed, 23 Jul 2025 07:05:14 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
ETag: W/"92be-POZ8UYzrT//IBsi+IjOZJxkdx9U"
Content-Encoding: gzip
For signature (1) the object becomes empty (as if default-constructed).
In all other cases, the shared_ptr acquires ownership of p with a use count of 1, and -optionally- with del and/or alloc as deleter and allocator, respectively.
Additionally, a call to this function has the same side effects as if shared_ptr's destructor was called before its value changed (including the deletion of the managed object if this shared_ptr was unique).
Output:
Reference
C library:
- <cassert> (assert.h)
- <cctype> (ctype.h)
- <cerrno> (errno.h)
-
<cfenv> (fenv.h)C++11
- <cfloat> (float.h)
-
<cinttypes> (inttypes.h)C++11
- <ciso646> (iso646.h)
- <climits> (limits.h)
- <clocale> (locale.h)
- <cmath> (math.h)
- <csetjmp> (setjmp.h)
- <csignal> (signal.h)
- <cstdarg> (stdarg.h)
-
<cstdbool> (stdbool.h)C++11
- <cstddef> (stddef.h)
-
<cstdint> (stdint.h)C++11
- <cstdio> (stdio.h)
- <cstdlib> (stdlib.h)
- <cstring> (string.h)
-
<ctgmath> (tgmath.h)C++11
- <ctime> (time.h)
-
<cuchar> (uchar.h)C++11
- <cwchar> (wchar.h)
- <cwctype> (wctype.h)
Containers:
-
<array>C++11
- <deque>
-
<forward_list>C++11
- <list>
- <map>
- <queue>
- <set>
- <stack>
-
<unordered_map>C++11
-
<unordered_set>C++11
- <vector>
-
Input/Output:
Multi-threading:
-
<atomic>C++11
-
<condition_variable>C++11
-
<future>C++11
-
<mutex>C++11
-
<thread>C++11
-
Other:
- <algorithm>
- <bitset>
-
<chrono>C++11
-
<codecvt>C++11
- <complex>
- <exception>
- <functional>
-
<initializer_list>C++11
- <iterator>
- <limits>
- <locale>
- <memory>
- <new>
- <numeric>
-
<random>C++11
-
<ratio>C++11
-
<regex>C++11
- <stdexcept>
- <string>
-
<system_error>C++11
-
<tuple>C++11
-
<type_traits>C++11
-
<typeindex>C++11
- <typeinfo>
- <utility>
- <valarray>
<memory>
classes
- allocator
-
allocator_arg_tC++11
-
allocator_traitsC++11
- auto_ptr
- auto_ptr_ref
-
bad_weak_ptrC++11
-
default_deleteC++11
-
enable_shared_from_thisC++11
-
owner_lessC++11
-
pointer_traitsC++11
- raw_storage_iterator
-
shared_ptrC++11
-
unique_ptrC++11
-
uses_allocatorC++11
-
weak_ptrC++11
enum classes
-
pointer_safetyC++11
-
functions
-
addressofC++11
-
alignC++11
-
allocate_sharedC++11
-
const_pointer_castC++11
-
declare_no_pointersC++11
-
declare_reachableC++11
-
dynamic_pointer_castC++11
-
get_deleterC++11
-
get_pointer_safetyC++11
- get_temporary_buffer
-
make_sharedC++11
- return_temporary_buffer
-
static_pointer_castC++11
-
undeclare_no_pointersC++11
-
undeclare_reachableC++11
- uninitialized_copy
-
uninitialized_copy_nC++11
- uninitialized_fill
- uninitialized_fill_n
-
objects
-
allocator_argC++11
-
shared_ptr
-
shared_ptr::~shared_ptrC++11
-
shared_ptr::shared_ptrC++11
member functions
-
shared_ptr::getC++11
-
shared_ptr::operator boolC++11
-
shared_ptr::operator->C++11
-
shared_ptr::operator*C++11
-
shared_ptr::operator=C++11
-
shared_ptr::owner_beforeC++11
-
shared_ptr::resetC++11
-
shared_ptr::swapC++11
-
shared_ptr::uniqueC++11
-
shared_ptr::use_countC++11
-
non-member overloads
-
operator<< (shared_ptr)C++11
-
relational operators (shared_ptr)C++11
-
swap (shared_ptr)C++11
-
- Reference
- <memory>
- shared_ptr
- reset
public member function
<memory>
std::shared_ptr::reset
(1) | void reset() noexcept; |
---|---|
(2) | template <class U> void reset (U* p); |
(3) | template <class U, class D> void reset (U* p, D del); |
(4) | template <class U, class D, class Alloc> void reset (U* p, D del, Alloc alloc); |
Reset pointer
In all other cases, the shared_ptr acquires ownership of p with a use count of 1, and -optionally- with del and/or alloc as deleter and allocator, respectively.
Additionally, a call to this function has the same side effects as if shared_ptr's destructor was called before its value changed (including the deletion of the managed object if this shared_ptr was unique).
Parameters
- p
- Pointer whose ownership is taken over by the object.
Generally, this pointer should not be already managed by any other managed pointer (i.e., this value should not come from calling member get on a managed pointer).
U* shall be implicitly convertible to T* (where T is shared_ptr's template parameter).
- del
- Deleter object to be used to release the owned object.
This shall be a callable object taking a pointer to T as argument for its functional call (where T is shared_ptr's template parameter). - alloc
- Allocator object used to allocate/deallocate internal storage.
Return value
noneExample
|
|
Output:
10 20 |
See also
- shared_ptr::operator=
- shared_ptr assignment (public member function)
- make_shared
- Make shared_ptr (function template)
Home page | Privacy policy
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us
© cplusplus.com, 2000-2025 - All rights reserved - v3.3.4s
Spotted an error? contact us