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