size_t owner_hash() const noexcept; // (1) C++26
概要
所有権ベースでのハッシュ値を取得する。
戻り値
所有権が等価な(owner_equal()がtrueを返す)shared_ptrおよびweak_ptrオブジェクトに対して、同じハッシュ値を返す。
備考
この関数は、所有権ベースでのハッシュを提供する。
owner_equal()とstd::owner_hashを組み合わせて、weak_ptrをunordered_mapやunordered_setのキーとして使用できる。
詳細は、shared_ptrのowner_hash()メンバ関数を参照。
例
#include <iostream>
#include <memory>
int main()
{
std::shared_ptr<int> sp(new int(42));
std::weak_ptr<int> wp = sp;
std::cout << std::boolalpha;
std::cout << (sp.owner_hash() == wp.owner_hash()) << std::endl;
}
出力
true
バージョン
言語
- C++26
処理系
- Clang: 22 ✅
- GCC: 16 ✅
- Visual C++: 2026 Update 2 ❌