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

C++ STLのunordered_multimap size()関数の使い方を解説

C++ STLにおけるunordered_multimapのsize()関数は、コンテナ内に格納されている要素の数を返すメンバ関数です。この記事では、size()関数の基本的な使い方と、実際のコード例を通じてその動作を解説します。

アルゴリズム

Begin
    空のマップコンテナ m を宣言する。
    reserve関数を使って、マップコンテナに適切な
    バケット数(bucket_count)の上限を設定する。
    マップコンテナに値を挿入する。
    size()関数を使って、unordered multimapコンテナのサイズを出力する。
End

サンプルコード

#include<iostream>
#include <bits/stdc++.h>
using namespace std;

int main() {
    unordered_map<char, int> m; // m を空のマップコンテナとして宣言

    m.reserve(6); // マップコンテナに適切なバケット数の上限を設定
    m.insert (pair<char, int>('b', 10)); // 値を挿入
    m.insert (pair<char, int>('a', 20));

    cout << "The size is: " << m.size(); // size()関数でコンテナの要素数を出力

    return 0;
}

実行結果

The size is :2

コードの解説

上記のプログラムでは、まずunordered_map<char, int>型の空のコンテナmを宣言しています。続いてreserve(6)を呼び出すことで、少なくとも6個の要素を格納できるバケット数を事前に確保し、再ハッシュの発生を抑えています。

その後、insert()関数を使って2つのペア('b' → 10 と 'a' → 20)をコンテナに挿入しています。最後にsize()関数を呼び出すことで、現在コンテナに格納されている要素数「2」が出力されます。

なお、size()関数の計算量は定数時間 O(1) であるため、要素数が多くても高速に動作する点が特徴です。

  1. C++ STLのcosh()関数とは?双曲線余弦の求め方をサンプルコード付きで解説

    cosh()関数とは? C++のSTLに組み込まれているcosh()関数は、ラジアン単位で与えられた角度の双曲線余弦(ハイパボリック・コサイン)を計算して返す関数です。使用するには、<cmath>ヘッダーをインクルードする必要があります。 双曲線余弦は、数学的に次の式で定義されます。 cosh(x) = (e^x + e^(-x)) / 2 構文 cosh()関数の構文は以下の通りです。 cosh(var) 構文から分かるように、cosh()関数はfloat型、double型、long double型のいずれかの引数varを受け取ります。そして、その双曲線余弦を返します。なお、引

  2. C++ STLのsinh()関数の使い方を徹底解説

    sinh()関数とはsinh()関数は、ラジアンで指定された値の双曲線正弦(ハイパボリックサイン)を返す関数です。C++のSTL(標準テンプレートライブラリ)に組み込まれており、<cmath>ヘッダをインクルードすることで利用できます。双曲線正弦は、以下の数式で定義されます。sinh(x) = (e^x − e^−x) / 2sinh()関数の構文sinh()関数の構文は以下のとおりです。sinh(var)構文からわかるように、sinh()関数はfloat型、double型、long double型のいずれかのパラメータvarを受け取ります。戻り値は、varの双曲線正弦です。sin