| (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); |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// shared_ptr::reset example
#include <iostream>
#include <memory>
int main () {
std::shared_ptr<int> sp; // empty
sp.reset (new int); // takes ownership of pointer
*sp=10;
std::cout << *sp << '\n';
sp.reset (new int); // deletes managed object, acquires new pointer
*sp=20;
std::cout << *sp << '\n';
sp.reset(); // deletes managed object
return 0;
}
10 20