Skip to content

Latest commit

 

History

History
63 lines (45 loc) · 1.35 KB

use_count.md

File metadata and controls

63 lines (45 loc) · 1.35 KB

use_count

  • 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

処理系

参照