std::unique_ptr使用示例
时间: 2023-12-06 15:45:55 浏览: 151
当使用std::unique_ptr时,您可以按照以下示例来初始化和使用它:
```cpp
#include <iostream>
#include <memory>
class MyClass {
public:
MyClass() {
std::cout << "MyClass created." << std::endl;
}
~MyClass() {
std::cout << "MyClass destroyed." << std::endl;
}
void doSomething() {
std::cout << "Doing something." << std::endl;
}
};
int main() {
// 初始化一个std::unique_ptr
std::unique_ptr<MyClass> ptr(new MyClass());
// 使用箭头运算符来调用成员函数
ptr->doSomething();
// 当指针超出范围时,std::unique_ptr会自动释放内存
return 0;
}
```
在上面的示例中,我们首先创建了一个名为MyClass的类。然后,在main函数中,我们使用std::unique_ptr来初始化一个指向MyClass对象的指针。当我们使用箭头运算符(->)来调用成员函数doSomething时,它会输出"Doing something."。在程序结束时,由于std::unique_ptr的析构函数会自动释放内存,所以输出会显示"MyClass destroyed."。
阅读全文