2017-07-16 11 views
-2

にすべてのペアのための第一及び第二の要素を比較++ - のstd ::ベクトル<のstd ::ペアを< int型/ VAL1 /、INT/VAL2 />> myVector;C私はこのようなペアのベクトル持つコンテナ

'myVector'の各ペア(Val1とVal2)の最初と2番目の要素を比較する効率的な方法は同じかどうかです。

私は考えることができる唯一の方法は -

bool IsFirstAndSecondSame(vector<pair<T, T>> myVector) 
{ 
    for(auto valuePair : myVector) 
    { 
     if(valuePair.first != valuePair.second) 
      return false' 
    } 
    return true; 
} 

の例では、私は整数のペアを使用しているが、問題は、同じタイプの第一及び第二の要素を有する任意のペアについてです。

+2

'ベクトル> myVector' ??? - あなたはこの質問をしたところで助けを得ることはできません。コードは意味をなさない。 C++で 'cosnt'とは何ですか? ...あなたのスペルをチェックしてください。頼むことに力を入れて...そして、あなたは素早い答えを得るでしょう。有効なコードスニペットを投稿してください。 – WhiZTiM

+0

'std :: all_of'と適切な関数を使用してください。[最小、完全、および検証可能な例](https://stackoverflow.com/help/mcve)を投稿してください。 – molbdnilo

+0

@molbdniloありがとうございました。 – adsarode

答えて

0

例では整数のペアを使用していますが、質問は同じタイプの第1要素と第2要素を持つペアについてです。

あなたは、おそらくこのようにテンプレート機能を使用してについて尋ねている:

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; 
} 
関連する問題