std::shared_ptr<T>::get
来自cppreference.com
< cpp | memory | shared ptr
工具库
动态内存管理
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::shared_ptr
| 成员函数 | ||||
| 修改器 | ||||
| 观察器 | ||||
|
shared_ptr::get
|
||||
|
(C++17)
|
||||
|
(C++20
前)
|
||||
| 非成员函数 | ||||
|
(C++20
前)(C++20
前)(C++20
前)(C++20
前)(C++20
前)(C++20)
|
||||
|
函数(C++20
中弃用)
|
||||
| 辅助类 | ||||
|
(C++20)
|
||||
| 推导指引(C++17) |
|
T* get() const noexcept;
|
(C++17 前) | |
|
element_type*
get() const noexcept;
|
(C++17 起) | |
返回存储的指针。
参数
(无)
返回值
存储的指针。
注意
shared_ptr 可能在存储指向一个对象的指针时共享另一对象的所有权。 get() 返回存储的指针,而非被管理指针。
示例
运行此代码
#include <iostream> #include <memory> #include <string_view> void output(std::string_view msg, int const* pInt) { std::cout << msg << *pInt << "\n"; } int main() { int* pInt = new int(42); std::shared_ptr<int> pShared = std::make_shared<int>(42); output("Naked pointer ", pInt); // output("Shared pointer ", pShared); // 编译错误 output("Shared pointer with get() ", pShared.get()); delete pInt; }
输出:
Naked pointer 42 Shared pointer with get() 42
参阅
| 解引用存储的指针 (公开成员函数) |