std::shared_ptr<T>::get
From cppreference.com
< cpp | memory | shared ptr
T* get() const noexcept; |
(until C++17) | |
element_type* get() const noexcept; |
(since C++17) | |
Returns the stored pointer.
Parameters
(none)
Return value
The stored pointer.
Notes
A shared_ptr
may share ownership of an object while storing a pointer to another object. get()
returns the stored pointer, not the managed pointer.
Example
Run this code
#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); // compiler error output("Shared pointer with get() ", pShared.get()); delete pInt; }
Output:
Naked pointer 42 Shared pointer with get() 42
See also
dereferences the stored pointer (public member function) |