C++ 比较容器中所有对的第一个和第二个元素
C++ Compare first and second element for all pairs in container
我有这样的对向量:
std::vector < std::pair < int /*Val1*/, int /*Val2*/ > > myVector;
比较"myVector"中每个对的有效方法是什么 对的第一个和第二个元素(Val1 和 Val2(是否相同。
我能想到的唯一办法是——
bool IsFirstAndSecondSame(vector<pair<T, T>> myVector)
{
for(auto valuePair : myVector)
{
if(valuePair.first != valuePair.second)
return false'
}
return true;
}
尽管在示例中我使用了整数对,但问题是关于具有相同类型的第一和第二元素的任何一对。
尽管在示例中我使用了整数对,但问题是关于具有相同类型的第一和第二元素的任何一对。
您可能会询问如何使用如下所示的模板化函数:
template<typename T>
bool IsFirstAndSecondSame(const vector<pair<T, T>>& myVector) // const
// ^^^^^
// makes no sense
// with free functions
{
for(const auto& valuePair : myVector)
{
if(valuePair.first != valuePair.second)
return false'
}
return true;
}
相关文章:
- 我有两个类需要在同一 cpp 文件中相互引用,但第一个类无法识别第二个类类型的对象
- 如何在创建自定义迭代器时获得 std::p air 的第一个和第二个?
- WinAPI 在单击第一个对话框上的按钮控件并销毁第一个对话框后创建第二个对话框
- 对的排序向量 (std::vector<pair<int, int>>) 按对的第一个元素搜索并更新第二个元素值
- 比较 2 个向量并从第二个向量中删除在第一个 - c++ 中找不到的元素
- 使第二个类的构造函数成为第一个类中的友元函数
- 为什么第二个代码给出了预期的结果,而第一个代码却没有?
- 为什么第一个代码块产生垃圾值,而第二个代码块将类成员的值相加?
- 我有一个类,它创建了另一个类的实例.如何将变量通过第一个类传递到第二个类的实例化中?
- c++:交换向量中所有元组的第一个和第二个元素
- 将内容从第一个文件("constituencies")移动到第二个文件("temp")并在之后重命名时,我的文件被删除
- 为什么 Boost multi_index只修改第一个索引的键时对第二个索引进行比较?
- 如何从第一个参数推断第二个参数类型?
- C++ - 同时对向量的第一个和第二个进行排序
- 一个 2D 数组,并按行存储值.第一个循环用于行索引,第二个循环用于列索引
- 首先处理第二个和第三个堆与第一个和第二个堆之间的逻辑差异
- 如何打印第一个和最后一个元素的和,然后打印第二个和倒数第二个元素的总和,依此类推
- ->第一个/第二个到空映射迭代器开始
- 我如何根据第一或第二个对更大的值对成对排序
- C++11 获取第一个(第二个等)参数的类型,类似于result_of