- memory[meta header]
- std[meta namespace]
- weak_ptr[meta class]
- function[meta id-type]
- cpp26[meta cpp]
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;
}- owner_hash[color ff0000]
true
- C++26
- Clang: 22 [mark verified]
- GCC: 16 [mark verified]
- Visual C++: 2026 Update 2 [mark noimpl]