##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::shared_ptr::operator<<

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

template <class T, class U, class V> basic_ostream<U, V>& operator<<(basic_ostream<U, V>& os, const shared_ptr<T>& ptr); |  |

Inserts a `shared_ptr<T>` into a std::basic_ostream.

Equivalent to `os << ptr.get()`.

### [edit] Parameters

os | - | a std::basic_ostream to insert `ptr` into
ptr | - | the data to be inserted into `os`

### [edit] Return value

`os`

### [edit] Example

Run this code

    #include <iostream>
    #include <memory>

    class Foo {};

    int main()
    {
        auto sp = std::make_shared<Foo>();
        std::cout << sp << std::endl;
        std::cout << sp.get() << std::endl;
    }

Possible output:

    0x6d9028
    0x6d9028

### [edit] See also

get | returns a pointer to the managed object (public member function) [edit]

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/memory/shared_ptr/operator_ltlt&oldid=58400"