Skip to content

Files

Latest commit

9ee90cb · Jan 30, 2025

History

History
76 lines (57 loc) · 1.48 KB

op_assign.md

File metadata and controls

76 lines (57 loc) · 1.48 KB

operator=

  • flat_map[meta header]
  • std[meta namespace]
  • flat_multimap[meta class]
  • function[meta id-type]
  • cpp23[meta cpp]
flat_multimap& operator=(initializer_list<value_type> il); // C++23
  • initializer_list[link /reference/initializer_list/initializer_list.md]

概要

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

効果

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

戻り値

*this

備考

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

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

void print(const std::flat_multimap<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}, {"Alice", 1}};

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

  print(fm);
}

出力

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

バージョン

言語

  • C++23

処理系