C++ STLのstd::count()関数の使用方法


まず、std::count()関数の基本的な構文を見てみましょう。

#include <algorithm>
#include <iostream>
#include <vector>
int main() {
    std::vector<int> numbers = {1, 2, 3, 4, 2, 2, 3};
    int target = 2;
    int count = std::count(numbers.begin(), numbers.end(), target);
    std::cout << "The count of " << target << " is: " << count << std::endl;
    return 0;
}

この例では、std::vectorを使用して整数のコンテナを作成し、その中から特定の値「2」の数を数えています。std::count()関数は、引数として数えたい範囲の先頭と終端のイテレータと、数えたい値を受け取ります。この関数は、数えたい値がコンテナ内にいくつ存在するかを返します。

もう少し具体的な例を見てみましょう。

#include <algorithm>
#include <iostream>
#include <array>
int main() {
    std::array<int, 7> numbers = {1, 2, 1, 2, 3, 1, 2};
    int target = 1;
    int count = std::count(numbers.begin(), numbers.end(), target);
    std::cout << "The count of " << target << " is: " << count << std::endl;
    return 0;
}

この例では、std::arrayを使用して整数の固定サイズのコンテナを作成し、その中から特定の値「1」の数を数えています。std::count()関数は、様々なコンテナタイプで使用することができます。

また、std::count()関数は様々なデータ型にも適用することができます。たとえば、文字列やユーザー定義のクラスなども対象となります。

#include <algorithm>
#include <iostream>
#include <string>
int main() {
    std::string sentence = "I love programming, programming is fun!";
    char target = 'm';
    int count = std::count(sentence.begin(), sentence.end(), target);
    std::cout << "The count of '" << target << "' is: " << count << std::endl;
    return 0;
}

この例では、std::stringを使用して文字列を作成し、文字「m」の数を数えています。

以上が、std::count()関数の使用方法といくつかのコード例です。この関数は、特定の値の出現回数を数える場合に便利です。他にもSTLにはさまざまな便利な関数が存在するので、興味がある場合はさらに学習してみてください。