给定两个
我认为像
所需功能的示例:
std::vector<T>
,vec_a
和 vec_b
,是否有标准库函数可以测试 vec_a
中的每个元素是否都小于其在位置上对应的 vec_b
元素,假设二进制运算符 operator<
对类型 T
的操作数已定义?我认为像
std::all_of
的二元谓词版本会完美地完成这个任务,但我不确定它是否存在,或者如果存在的话它会被称为什么。也许将另一个执行逐元素比较的函数的输出应用于std::all_of
的组合也可以起到作用,如果这样的东西存在的话。
所需功能的示例:
std::vector<int> vec_a{1, 2, 3};
std::vector<int> vec_b{2, 3, 4};
bool all_less = vec_a.size() == vec_b.size();
for (size_t i = 0; all_less && (i < vec_a.size()); ++i) {
all_less = vec_a[i] < vec_b[i];
}
// all_less now holds desired result
bool all_less = vec_a.size() == vec_b.size() && vec_a < vec_b
吗? - Zeregesstd::vector
拥有一个 operator <。 - PaulMcKenziestd::mismatch
函数。 - Zereges