std::unordered_set<Key,Hash,KeyEqual,Allocator>::contains

出自cppreference.com
 
 
 
 
bool contains( const Key& key ) const;
(1) (C++20 起)
template< class K > bool contains( const K& x ) const;
(2) (C++20 起)
1) 檢查容器中是否有元素的鍵等價於 key
2) 檢查是否有元素的鍵比較等價於值 x。此重載只有在Hash::is_transparentKeyEqual::is_transparent 均合法並指代類型時才會參與重載決議。這假設使得 Hash 能用 KKey 類型調用,並且 KeyEqual 是透明的,進而允許調用此函數時不需要構造 Key 的實例。

參數

key - 要搜索的元素鍵值
x - 任何能與鍵進行透明比較的類型的值

返回值

若有這種元素則為 true,否則為 false

複雜度

平均為常數,最壞情況與容器大小成線性。

示例

#include <iostream>
#include <unordered_set>
 
int main()
{
    std::unordered_set<int> example{1, 2, 3, 4};

    for (int x : {2, 5})
        if (example.contains(x))
            std::cout << x << ": 找到\n";
        else
            std::cout << x << ": 未找到\n";
}

輸出:

2: 找到
5: 未找到

參閱

尋找帶有特定鍵的元素
(公開成員函數) [編輯]
返回匹配特定鍵的元素數量
(公開成員函數) [編輯]
返回匹配特定鍵的元素範圍
(公開成員函數) [編輯]