std::shared_ptr::get - cppreference.com

##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

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

### [edit] Parameters

(none)

### [edit] Return value

The stored pointer.

### [edit] Exceptions

`noexcept` specification:
noexcept

### [edit] 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.

### [edit] 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

### [edit] See also

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

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