在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;
}
這些智能指針類可以自動進行內存管理,無需手動釋放資源,從而有效地避免內存泄漏等問題。