在C++中,可以使用std::shared_ptr和std::unique_ptr来实现智能指针。这两个智能指针类都在
使用std::shared_ptr: std::shared_ptr是一种引用计数智能指针,可以在不同的地方共享同一个对象。当最后一个std::shared_ptr超出作用域时,对象会被自动销毁。
示例代码:
#include <memory>
int main() {
std::shared_ptr<int> ptr(new int(5));
*ptr = 10;
std::cout << *ptr << std::endl;
return 0;
}
使用std::unique_ptr: std::unique_ptr是一种独占智能指针,保证只有一个指针可以指向该对象。当std::unique_ptr超出作用域时,对象会被自动销毁。
示例代码:
#include <memory>
int main() {
std::unique_ptr<int> ptr(new int(5));
*ptr = 10;
std::cout << *ptr << std::endl;
return 0;
}
这些智能指针类可以自动进行内存管理,无需手动释放资源,从而有效地避免内存泄漏等问题。