2017-07-16 43 views
-2

我有一对这样的载体 - 的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; 
} 

,问题是大约具有相同类型的第一和第二元件的任何对。

+2

'矢量> myVector' ??? - 你不能通过你问这个问题的方式获得帮助,代码没有任何意义。 C++中的'cosnt'是什么? ...检查你的拼写。在询问中付出很大的努力...并且你会得到快速的答案。发布有效的代码片段。请发布[最小,完整和可验证示例](https://stackoverflow.com/help/mcve) – WhiZTiM

+0

使用'std :: all_of'和一个合适的函数。 – molbdnilo

+0

谢谢@molbdnilo。 – adsarode

回答

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; 
} 
相关问题