C++比较第一和第二元件的所有对在容器
问题描述:
我有一对这样的载体 - 的std ::矢量<的std ::对< INT/VAL1 /,INT/VAL2 />> myVector;C++比较第一和第二元件的所有对在容器
比较'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;
}
'矢量> myVector' ??? - 你不能通过你问这个问题的方式获得帮助,代码没有任何意义。 C++中的'cosnt'是什么? ...检查你的拼写。在询问中付出很大的努力...并且你会得到快速的答案。发布有效的代码片段。请发布[最小,完整和可验证示例](https://stackoverflow.com/help/mcve) – WhiZTiM
使用'std :: all_of'和一个合适的函数。 – molbdnilo
谢谢@molbdnilo。 – adsarode