~shared_ptr();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// shared_ptr destructor example
#include <iostream>
#include <memory>
int main () {
auto deleter = [](int*p){
std::cout << "[deleter called]\n"; delete p;
};
std::shared_ptr<int> foo (new int,deleter);
std::cout << "use_count: " << foo.use_count() << '\n';
return 0; // [deleter called]
}
use_count: 1 [deleter_called]