我有这样的对矢量:
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;
}
虽然在示例中我使用了一对整数,但问题是关于任何一对和第二个相同类型的元素。
答案 0 :(得分:0)
虽然在示例中我使用了一对整数,但问题是任何具有相同类型的第一和第二元素的对。
您可能会询问使用这样的模板化函数:
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;
}