How to find out if an item is present in a std::vector?

后端 未结 18 2411
滥情空心
滥情空心 2020-11-22 05:31

All I want to do is to check whether an element exists in the vector or not, so I can deal with each case.

if ( item_present )
   do_this();
else
   do_that(         


        
18条回答
  •  时光取名叫无心
    2020-11-22 06:22

    Here's a function that will work for any Container:

    template  
    const bool contains(const Container& container, const typename Container::value_type& element) 
    {
        return std::find(container.begin(), container.end(), element) != container.end();
    }
    

    Note that you can get away with 1 template parameter because you can extract the value_type from the Container. You need the typename because Container::value_type is a dependent name.

提交回复
热议问题