例如:
if (value == array[size]) //if the value (unique) is present in an array then do something
可以在一个语句中完成,而不必调用函数或基本for循环语句吗?
答案 0 :(得分:5)
std::find
可以在一个语句中完成,但它并不像其他语言那样简单:(
int array[10];
if (array + 10 != find(array, array + 10, 7)) {
cout << "Array contains 7!";
}
if (int n = count(array, array + 10, 7)) {
cout << "Array contains " << n << " 7s!";
}
答案 1 :(得分:4)
根据问题,您可能希望使用set
。它有一个名为count()
的成员函数,可以告诉您集合中是否存在某些内容:
if(myset.count(value) > 0){
doThings();
}
答案 2 :(得分:2)
没有内置的操作员可以做这样的事情。
有许多方法可以执行测试,因为它似乎是来自外部的单个声明。其中一些使用标准库已经提供的部分,因此您不必自己编写很多代码。但是,它们将不可避免地在某些你已经排除的函数调用和/或循环中使用。
所以考虑到你问题中的限制:不,没有办法。