unique_ptr使用例子
时间: 2023-08-27 11:06:50 浏览: 52
下面是一个使用unique_ptr的例子:
```c++
#include <iostream>
#include <memory>
class MyClass {
public:
MyClass() {
std::cout << "MyClass Constructor" << std::endl;
}
~MyClass() {
std::cout << "MyClass Destructor" << std::endl;
}
void doSomething() {
std::cout << "doSomething" << std::endl;
}
};
int main() {
std::unique_ptr<MyClass> myClassPtr(new MyClass);
myClassPtr->doSomething();
return 0;
}
```
在这个例子中,我们定义了一个名为MyClass的类,它有一个构造函数和一个析构函数,并且有一个名为doSomething()的成员函数。在main()函数中,我们创建了一个unique_ptr对象myClassPtr,并且通过new操作符分配一个MyClass对象的内存空间并将其传递给unique_ptr的构造函数。我们可以使用箭头运算符(->)调用MyClass中的doSomething()方法。
在程序结束时,myClassPtr将自动删除并释放MyClass对象的内存空间,因为unique_ptr是智能指针,它会自动管理和释放分配的内存空间。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)