最終更新日時(UTC): 2026年02月17日 14時22分33秒
Akira Takahashi が更新

履歴 編集

function
<flat_map>

# std::flat_map::operator=(C++23)

    flat_map& operator=(initializer_list<value_type> il);           // (1) C++23
    constexpr flat_map& operator=(initializer_list<value_type> il); // (1) C++26

## 概要

初期化子リストの値を代入する。

## 効果

`*this`の全ての要素が解放され、`il`の全ての要素が`*this`にコピー代入される。

## 戻り値

`*this`

## 備考

- 引数の型が `const flat_map&` であるコピー代入演算子と、引数の型が `flat_map&&` であるムーブ代入演算子は、それぞれ自動生成される。

## 例

    #include <flat_map>
    #include <iostream>
    #include <string>
    #include <vector>

    void print(const std::flat_map<std::string, int>& fm)
    {
      std::cout << "{" << std::endl;
      for (const auto& kv: fm) {
        std::cout << "  " << kv.first << ": " << kv.second << "," << std::endl;
      }
      std::cout << "}" << std::endl;
    }

    int main()
    {
      std::initializer_list<std::pair<std::string, int>> elems = {{"Alice", 3}, {"Bob", 1}, {"Carol", 4}};

      std::flat_map<std::string, int> fm;
      fm = elems;

      print(fm);
    }

### 出力

    {
      Alice: 3,
      Bob: 1,
      Carol: 4,
    }

## バージョン

### 言語

- C++23

### 処理系

- Clang: ??
- GCC: ??
- ICC: ??
- Visual C++: ??

## 参照

- P3372R3 constexpr containers and adaptors