C++
 Computer >> コンピューター >  >> プログラミング >> C++

C++ STLのmultimap::size()関数とは?構文・戻り値・サンプルコードを解説

本記事では、C++ STLにおけるmultimap::size()関数の仕組み、構文、そして具体的な使用例について詳しく解説します。

C++ STLにおけるmultimapとは?

multimap(マルチマップ)は連想コンテナの一種で、mapコンテナとよく似た特性を持っています。キー(key)とマップされる値(mapped value)の組み合わせからなる要素を、特定の順序で格納することができます。mapとの大きな違いは、同じキーに対して複数の要素を関連付けられる点です。また、コンテナ内のデータは常にキーに基づいて自動的にソートされます。

multimap::size()とは?

multimap::size()関数は、C++ STLに標準で組み込まれている関数であり、<map>ヘッダーファイル内で定義されています。この関数はmultimapコンテナのサイズを確認するために使用され、コンテナに格納されている要素の総数を取得できます。

構文

map_name.size();

パラメータ

この関数は引数(パラメータ)を受け取りません。

戻り値

この関数は、コンテナ内に格納されている要素の数を返します。コンテナが空の場合は0を返します。

入力例

std::multimap<char, int> mymap;
mymap.insert(make_pair('a', 10));
mymap.insert(make_pair('b', 20));
mymap.insert(make_pair('c', 30));
mymap.size();

出力

3

入力例

std::multimap<int, int> mymap;
mymap.size();

出力

0

使用例

#include <iostream>
#include <map>
using namespace std;
int main(){
   multimap<int, int> mul_1;
   // 要素を走査するためのイテレータを宣言
   multimap<int, int>::iterator i;
   // multimap1に要素を挿入
   mul_1.insert({1, 10});
   mul_1.insert({2, 20});
   mul_1.insert({3, 30});
   mul_1.insert({4, 40});
   mul_1.insert({5, 50});
   // multimap1の要素数を確認
   cout << "Total number of elements in multimap1 are: " << mul_1.size();
   cout << "\nElements in multimap1 are: " << "\n";
   for(i = mul_1.begin(); i != mul_1.end(); i++){
      cout << (*i).first << " " << (*i).second << "\n";
   }
   return 0;
}

出力結果

上記のコードを実行すると、以下のような出力が生成されます。

Total number of elements in multimap1 are: 5
Elements in multimap1 are:
1 10
2 20
3 30
4 40
5 50

まとめ

multimap::size()関数を使えば、multimapコンテナに格納されている要素数を簡単に取得できます。引数を必要とせず、コンテナが空の場合には0を返すため、要素の有無を確認する用途にも活用できます。同じキーの重複を許容しながらキー順にデータを管理したい場合に、multimapは非常に便利なコンテナです。

  1. C++ STLのnegate関数で値の符号を反転する方法

    C++のSTL(標準テンプレートライブラリ)には、値の符号を簡単に反転できるnegate関数が用意されています。negateは「否定する」という意味を持つ関数オブジェクトで、正の値を負の値へ、負の値を正の値へと変換します。この記事では、std::transformと組み合わせてnegateを使う方法を解説します。関数プロトタイプnegateは通常、transformアルゴリズムと一緒に使われます。基本的な構文は以下の通りです。function transform(a_begin, a_end, a1_begin, negate()):    a_begin = 配列の先頭(

  2. C++ STLのatan2()関数の使い方を徹底解説!構文・戻り値・サンプルコード付き

    atan2()関数は、座標yとxから逆正接(アークタンジェント)を求めるための関数です。ここでいうyとxは、それぞれy座標とx座標の値を指します。atan2()はC++のSTL(標準テンプレートライブラリ)に組み込まれている関数で、<cmath>ヘッダをインクルードすることで利用できます。通常のatan()関数と異なり、atan2()はxの符号も考慮して正しい象限の角度を返すため、実務でも広く使われています。atan2()関数の構文atan2(dataType var1, dataType var2)構文を見ると分かるように、atan2()関数はfloat型、double型、lon