# 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

operator*operator-> | dereferences the stored pointer (public member function)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/memory/shared_ptr/get&oldid=106741"