例如,在Python中,我可以这样做:
if 'a' in ['a', 'b', 'c']:
return 'Hi'
但在C++中,我不确定相应的函数是什么。
if 'a' in ['a', 'b', 'c']:
return 'Hi'
但在C++中,我不确定相应的函数是什么。
使用来自<algorithm>
的std::find
函数:
std::vector<char> dynamic_array{'a', 'b', 'c'};
auto exists = std::find(dynamic_array.begin(), dynamic_array.end(), 'a')
!= dynamic_array.end();
如果你发现自己经常这样做,可以创建一个函数:
template<typename Container, typename T>
bool contains(Container const& container, T const& value) {
using std::begin;
return std::find(begin(container), end(container), value)
!= end(container);
}
auto
关键字。实际上,如果这是 C++14,我会把 contains
的返回类型指定为 auto
。 - user1804599
std::vector<std::string> x = {"a","b","c"}; if(x.end() != std::find(x.begin(),x.end(),"a")) return "Hi";
- Jerry Jeremiah