最終更新日時:
が更新

履歴 編集

function
<memory>

std::shared_ptr::unique(C++11)

bool unique() const noexcept;

概要

有効なリソースを所有しているかを判定する。

戻り値

use_count() == 1

備考

この関数は、use_count()を使用するよりも高速である可能性がある。

#include <iostream>
#include <memory>

int main()
{
  std::shared_ptr<int> p(new int(3));

  // 所有権を持つユーザーが1人
  if (p.unique()) {
    std::cout << "unique" << std::endl;
  }

  // 所有権を持つユーザーが2人
  std::shared_ptr<int> q = p;
  if (!p.unique()) {
    std::cout << "non unique" << std::endl;
  }
}

出力

unique
non unique

バージョン

言語

  • C++11

処理系