shared_ptr 如何访问共享对象指向的值
时间: 2023-10-21 14:52:48 浏览: 35
在C++中,可以使用shared_ptr访问共享对象指向的值。shared_ptr是一个智能指针,用于管理动态分配的内存资源,并且可以在多个智能指针之间共享所有权。
要访问shared_ptr指向的值,可以使用箭头操作符(->)或解引用操作符(*)来获取指针指向的对象。
下面是一些示例代码,展示了如何使用shared_ptr访问共享对象的值:
```cpp
#include <iostream>
#include <memory>
int main() {
// 创建一个shared_ptr指向整数
std::shared_ptr<int> sharedPtr(new int(42));
// 使用箭头操作符访问共享对象指向的值
std::cout << "通过箭头操作符访问值: " << sharedPtr-> << std::endl;
// 使用解引用操作符访问共享对象指向的值
std::cout << "通过解引用操作符访问值: " << *sharedPtr << std::endl;
return 0;
}
```
在上述示例中,我们创建了一个shared_ptr对象,并将其初始化为指向一个整数(值为42)。然后,我们使用箭头操作符(->)和解引用操作符(*)来访问共享对象指向的值,并将其打印到控制台上。
需要注意的是,在使用shared_ptr之前,需要确保该指针指向的对象是有效的。否则,如果试图访问一个空指针,将会导致未定义的行为或程序崩溃。因此,在使用shared_ptr时,要注意对其进行正确的初始化和赋值操作。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)