c++ 使用现有指针创建共享指针
时间: 2023-09-07 20:14:02 浏览: 177
C++语言中的指针
可以使用shared_ptr来创建共享指针。在C++中,可以使用以下方式来使用现有指针创建共享指针:
1. 使用shared_ptr的构造函数:可以直接使用现有指针来初始化shared_ptr对象。例如:
```
int* rawPtr = new int(10);
std::shared_ptr<int> sharedPtr(rawPtr);
```
2. 使用shared_ptr的reset()函数:可以将现有指针赋值给已存在的shared_ptr对象。例如:
```
int* rawPtr = new int(10);
std::shared_ptr<int> sharedPtr;
sharedPtr.reset(rawPtr);
```
3. 使用make_shared()函数:可以直接使用现有指针来创建shared_ptr对象。例如:
```
int* rawPtr = new int(10);
std::shared_ptr<int> sharedPtr = std::make_shared<int>(*rawPtr);
```
需要注意的是,使用shared_ptr来管理现有指针时,确保在不再需要指针时及时释放资源,以避免内存泄漏。
#### 引用[.reference_title]
- *1* *2* *3* [C++智能指针详解(共享指针,唯一指针,自动指针)](https://blog.csdn.net/weixin_38815609/article/details/112576997)[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^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文