- memory[meta header]
- std[meta namespace]
- shared_ptr[meta class]
- function[meta id-type]
- cpp11[meta cpp]
long use_count() const noexcept;
所有権を持つユーザー数を取得する。
*this
が持つリソースを共有しているshared_ptr
のオブジェクト数を返す。
0
が返る場合、*this
は空の状態となる。
しない
複数スレッドがuse_count()
の戻り値に影響を与える場合、その戻り値は、おおよその値として扱われるべきである。この関数はスレッド間での同期をしないため、正確な値を求めてはならない。
#include <iostream>
#include <memory>
int main()
{
std::shared_ptr<int> p(new int(3));
std::shared_ptr<int> q = p;
long count = p.use_count();
std::cout << count << std::endl;
}
- use_count()[color ff0000]
2
- C++11
- GCC: 4.4.7
- Clang libc++, C++11 mode: 3.0
- ICC: ?
- Visual C++: 2008 (TR1), 2010, 2012, 2013