「std::count」の版間の差分

提供: C++入門
移動: 案内検索
(ページの作成:「std::count とは、配列やコンテナの特定の要素がいくつ含まれているか返すテンプレート関数です。 '''読み方''' ;std::count...」)
 
(相違点なし)

2013年12月26日 (木) 11:46時点における最新版

std::count とは、配列やコンテナの特定の要素がいくつ含まれているか返すテンプレート関数です。

読み方

std::count
えすてぃーでぃー かうんと

概要

boost::countを使用すると、より少ないコードで記述できます。 条件式を与えて、比較する場合には、std::count_ifを使用します。

count1.cpp の例

ソースコード count1.cpp

std::countの第1引数には、配列の最初を指定します。 std::countの第2引数には、配列の終わりを指定します。 std::countの第3引数には、探したい対象を指定します。

この例では、配列の中のtrueの数を数えます。

#include <iostream>
int main(int argc, char const* argv[])
{
        bool b_array [] = {true, false, true, true};
 
        size_t n_count = std::count(b_array, b_array+(sizeof(b_array)), true);
        std::cout << n_count << std::endl;
        return 0;
}

コンパイル

g++  count1.cpp -o count1

実行例

% ./count1
3

count2.cpp の例

ソースコード count2.cpp

この例では、std::vectorの中の4の数を数えます。

#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char const* argv[])
{
        int i_array [] = {1, 2, 2, 3, 4, 4, 4, 5};
        vector<int>     v(i_array, i_array+sizeof(i_array));
        size_t n_count = std::count(v.begin(), v.end(), 4);
        std::cout << n_count << std::endl;
        return 0;
}

コンパイル

g++  count2.cpp -o count2

実行例

% ./count2
3

関連項目