std::vector にアイテムが存在するかどうかを確認するにはどうすればよいでしょうか? 質問する

std::vector にアイテムが存在するかどうかを確認するにはどうすればよいでしょうか? 質問する

私がやりたいのは、ベクトル内に要素が存在するかどうかをチェックすることだけなので、それぞれのケースに対処できます。

if ( item_present )
   do_this();
else
   do_that();

ベストアンサー1

使用できますstd::findから<algorithm>

#include <algorithm>
#include <vector>
vector<int> vec; 
//can have other data types instead of int but must same datatype as item 
std::find(vec.begin(), vec.end(), item) != vec.end()

これは、見つかった最初の要素への反復子を返します。存在しない場合は、末尾の 1 つ後の反復子を返します。あなたの例では、次のようになります。

#include <algorithm>
#include <vector>

if ( std::find(vec.begin(), vec.end(), item) != vec.end() )
   do_this();
else
   do_that();

おすすめ記事