shared_ptr使用
时间: 2023-09-17 07:09:23 浏览: 246
shared_ptr是C++11中提供的智能指针类之一,用于管理动态分配的内存。它具有和普通指针一样的访问数据的方法,比如通过解引用操作符*来访问指针指向的对象,通过箭头操作符->来访问指针指向对象的成员。例如,我们可以通过以下方式创建一个shared_ptr指向double类型的对象,并访问该对象的值:
```
std::shared_ptr<double> p(new double(2.0));
double value = *p;
```
在这个例子中,我们使用new操作符动态分配了一个double类型的对象,并将其作为参数传递给shared_ptr的构造函数。通过解引用操作符*,我们可以获取指针指向的对象的值。
此外,shared_ptr还提供了其他有用的功能,比如自动释放内存和避免内存泄漏。当最后一个指向某个对象的shared_ptr销毁时,它会自动释放内存。这意味着无需手动调用delete来释放对象的内存,从而减少了内存泄漏的可能性。
总结来说,shared_ptr是一种可以自动管理动态分配内存的智能指针,它具有和普通指针一样的访问数据的方法,并提供了自动释放内存和避免内存泄漏的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [C++学习 一、shared_ptr使用](https://blog.csdn.net/qq_41035283/article/details/122502906)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文