##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::shared_ptr::use_count

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

long use_count() const; |  |

Returns the number of different `shared_ptr` instances (this included) managing the current object. If there is no managed object, ​0​ is returned.

### [edit] Parameters

(none)

### [edit] Return value

the number of `shared_ptr` instances managing the current object or ​0​ if there is no managed object.

### [edit] Example

Run this code

    #include <memory>
    #include <iostream>

    void fun(std::shared_ptr<int> sp)
    {
        std::cout << "fun: sp.use_count() == " << sp.use_count() << std::endl;
    }

    int main()
    {
        std::shared_ptr<int> sp1 {std::make_shared<int>(5)};
        std::cout << "sp1.use_count() == " << sp1.use_count() << std::endl;

        fun(sp1);
    }

Output:

    sp1.use_count() == 1
    fun: sp.use_count() == 2

### [edit] See also

unique | checks whether the managed object is managed only by the current `shared_ptr` instance (public member function) [edit]

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