unique_ptr是一个智能指针类,用于管理动态分配的对象的所有权。与传统的裸指针不同,unique_ptr负责自动释放其所管理的对象,从而避免内存泄漏。
unique_ptr的用法如下:
std::unique_ptr<int> ptr = std::make_unique<int>(10);
std::cout << *ptr << std::endl;
std::unique_ptr<int> ptr2 = std::move(ptr);
ptr2.reset();
std::unique_ptr<int, std::function<void(int*)>> ptr3(new int(20), [](int* p){ std::cout << "Deleting: " << *p << std::endl; delete p; });