最終更新日時(UTC): 2024年06月11日 13時45分38秒
Akira Takahashi が更新

履歴 編集

function

# ::node_handle::key(C++17)

    key_type& key() const; // set コンテナには存在ない

## 概要

このノードハンドルによって管理されている `map` コンテナ要素のキー要素を指す非 `const` な参照を返す。

## 要件

`empty() == false`

## 戻り値

`ptr_` が指す `container_node_type` オブジェクト内の `value_type` サブオブジェクトの `key_type` メンバへの非`const`参照。

## 備考

返された参照を通じてキーを変更することができる。 また、要素をコピーもムーブなしに、マップから抽出したノードのキーを変更することができる。

## 例外

投げない。

## 例

    #include <iostream>
    #include <map>
    #include <string>

    int main()
    {
      std::map<int, std::string> m = {
        { 1, "nya" },
        { 2, "nyan" },
        { 3, "nyau" }
      };

      auto nh = m.extract(m.begin());
      std::cout << nh.key();
    }

### 出力

    1

## バージョン

### 言語

- C++17

### 処理系

- Clang: 7.0.0 ✅
- GCC: 7.1.0 ✅
- ICC: ??
- Visual C++: 2017 Update 5 ✅

## 参照

- Splicing Maps and Sets(Revision 5)