std::shared_ptr::use_count

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.

Parameters

(none).

Return value

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

Exceptions

noexcept specification:
noexcept

Example

#include <memory> 
#include <iostream> 
 
void fun(std::shared_ptr<int> sp)
{
    std::cout << "fun: sp.use_count() == " << sp.use_count() << '\n'; 
}
 
int main() 
{ 
    auto sp1 = std::make_shared<int>(5);
    std::cout << "sp1.use_count() == " << sp1.use_count() << '\n'; 
 
    fun(sp1);
}

Output:

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

See also

checks whether the managed object is managed only by the current shared_ptr instance
(public member function)
doc_CPP
2016-10-11 10:06:40
Comments
Leave a Comment

Please login to continue.