我正在开发一个缓存,我需要知道一个对象何时到期.当shared_ptr的引用计数器减少时,是否可以运行一个函数?
std::shared_ptr< MyClass > p1 = std::make_shared( MyClass() );
std::shared_ptr< MyClass > p2 = p1; // p1.use_count() = 2
p2.reset(); // [ run function ] p1.use_count() = 1
Run Code Online (Sandbox Code Playgroud)