【一人 C++20 Advent Calendar 2019】連想コンテナにある要素が含まれているかを判定するメンバ関数を追加【12日目】

一人 C++20 Advent Calendar 2019 12日目の記事になります。

連想コンテナにある要素が含まれているかを判定するメンバ関数を追加

std::map などの連想コンテナにある要素が含まれているかどうかを判定する contains() メンバ関数が追加されました。

#include <map>
#include <iostream>

int
main(){
    auto data = std::map<char, int> {
        { 'A', 1 }, { 'J', 11 }, { 'Q', 12 }, // { 'K', 13 }
    };

    if (data.contains('A')) {
        std::cout << "Has key 'A'" << std::endl;
    }

    if (!data.contains('K')) {
        std::cout << "Has not key 'K'" << std::endl;
    }

    return 0;
}
/*
output:
Has key 'A'
Has not key 'K'
*/

今までは if (data.find('A') != data.end()) みたいに判定する必要があったんですが、メンバ関数が追加された事でよりわかりやすくなりましたね。 こういうのはどんどん追加していってほしい。

参照