# std::shared_ptr::get

From cppreference.com
< cpp‎ | memory‎ | shared ptr

T* get() const; |  | (until C++17)
element_type* get() const; |  | (since C++17)

Returns the stored pointer.

### Parameters

(none)

### Return value

The stored pointer.

### Exceptions

`noexcept` specification:
noexcept

### 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>

    typedef std::shared_ptr<int> IntPtr;

    void output(const std::string& msg, int* pInt)
    {
        std::cout << msg << *pInt << "\n";
    }

    int main()
    {
        int* pInt = new int(42);
        IntPtr pShared(new 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 "http://en.cppreference.com/mwiki/index.php?title=cpp/memory/shared_ptr/get&oldid=91823"
Category:

- unconditionally noexcept

Hidden categories:

- Pages with unreviewed unconditional noexcept template
- Pages with unreviewed noexcept template