std::shared_ptr<T>::get
< cpp | memory | shared ptr
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
参阅
解引用存储的指针 (公开成员函数) |