<unordered_map>
演算子
unordered_map::operator!=
unordered_map::operator==
unordered_multimap::operator!=
unordered_multimap::operator==
operator!=
演算子の左側の unordered_map オブジェクトが右側の unordered_map オブジェクトと等しくないかどうかをテストします。
bool operator!=(const unordered_map <Key, Type, Hash, Pred, Allocator>& left, const unordered_map <Key, Type, Hash, Pred, Allocator>& right);
パラメーター
left
unordered_map
型オブジェクト。
right
unordered_map
型オブジェクト。
戻り値
unordered_map が等しくない場合は、true
。等しい場合は、false
。
解説
unordered_map オブジェクト間の比較は、要素を任意の順序で格納することによる影響を受けません。 同じ数の要素が存在し、一方のコンテナー内の要素がもう一方のコンテナー内の要素の順列である場合、2 つの unordered_map は等しくなります。 それ以外の場合は等しくありません。
例
// unordered_map_op_ne.cpp
// compile by using: cl.exe /EHsc /nologo /W4 /MTd
#include <unordered_map>
#include <iostream>
#include <ios>
int main( )
{
using namespace std;
unordered_map<int, int> um1, um2, um3;
for ( int i = 0 ; i < 3 ; ++i ) {
um1.insert( make_pair( i+1, i ) );
um1.insert( make_pair( i, i ) );
um2.insert( make_pair( i, i+1 ) );
um2.insert( make_pair( i, i ) );
um3.insert( make_pair( i, i ) );
um3.insert( make_pair( i+1, i ) );
}
cout << boolalpha;
cout << "um1 != um2: " << (um1 != um2) << endl;
cout << "um1 != um3: " << (um1 != um3) << endl;
cout << "um2 != um3: " << (um2 != um3) << endl;
}
/* Output:
um1 != um2: true
um1 != um3: false
um2 != um3: true
*/
operator==
演算子の左側の unordered_map オブジェクトが右側の unordered_map オブジェクトと等しいかどうかをテストします。
bool operator==(const unordered_map <Key, Type, Hash, Pred, Allocator>& left, const unordered_map <Key, Type, Hash, Pred, Allocator>& right);
パラメーター
left
unordered_map
型オブジェクト。
right
unordered_map
型オブジェクト。
戻り値
unordered_map が等しい場合は、true
。等しくない場合は、false
。
解説
unordered_map オブジェクト間の比較は、要素を任意の順序で格納することによる影響を受けません。 同じ数の要素が存在し、一方のコンテナー内の要素がもう一方のコンテナー内の要素の順列である場合、2 つの unordered_map は等しくなります。 それ以外の場合は等しくありません。
例
// unordered_map_op_eq.cpp
// compile by using: cl.exe /EHsc /nologo /W4 /MTd
#include <unordered_map>
#include <iostream>
#include <ios>
int main( )
{
using namespace std;
unordered_map<int, int> um1, um2, um3;
for ( int i = 0 ; i < 3 ; ++i ) {
um1.insert( make_pair( i+1, i ) );
um1.insert( make_pair( i, i ) );
um2.insert( make_pair( i, i+1 ) );
um2.insert( make_pair( i, i ) );
um3.insert( make_pair( i, i ) );
um3.insert( make_pair( i+1, i ) );
}
cout << boolalpha;
cout << "um1 == um2: " << (um1 == um2) << endl;
cout << "um1 == um3: " << (um1 == um3) << endl;
cout << "um2 == um3: " << (um2 == um3) << endl;
}
/* Output:
um1 == um2: false
um1 == um3: true
um2 == um3: false
*/
operator!= (multimap)
演算子の左側の unordered_multimap オブジェクトが右側の unordered_multimap オブジェクトと等しくないかどうかをテストします。
bool operator!=(const unordered_multimap <Key, Type, Hash, Pred, Allocator>& left, const unordered_multimap <Key, Type, Hash, Pred, Allocator>& right);
パラメーター
left
unordered_multimap
型オブジェクト。
right
unordered_multimap
型オブジェクト。
戻り値
unordered_multimap が等しくない場合は、true
。等しい場合は、false
。
解説
unordered_multimap オブジェクト間の比較は、要素を任意の順序で格納することによる影響を受けません。 同じ数の要素が存在し、一方のコンテナー内の要素がもう一方のコンテナー内の要素の順列である場合、2 つの unordered_multimap は等しくなります。 それ以外の場合は等しくありません。
例
// unordered_multimap_op_ne.cpp
// compile by using: cl.exe /EHsc /nologo /W4 /MTd
#include <unordered_map>
#include <iostream>
#include <ios>
int main( )
{
using namespace std;
unordered_multimap<int, int> um1, um2, um3;
for ( int i = 0 ; i < 3 ; ++i ) {
um1.insert( make_pair( i, i ) );
um1.insert( make_pair( i, i ) );
um2.insert( make_pair( i, i ) );
um2.insert( make_pair( i, i ) );
um2.insert( make_pair( i, i ) );
um3.insert( make_pair( i, i ) );
um3.insert( make_pair( i, i ) );
}
cout << boolalpha;
cout << "um1 != um2: " << (um1 != um2) << endl;
cout << "um1 != um3: " << (um1 != um3) << endl;
cout << "um2 != um3: " << (um2 != um3) << endl;
}
/* Output:
um1 != um2: true
um1 != um3: false
um2 != um3: true
*/
operator== (multimap)
演算子の左側の unordered_multimap オブジェクトが右側の unordered_multimap オブジェクトと等しいかどうかをテストします。
bool operator==(const unordered_multimap <Key, Type, Hash, Pred, Allocator>& left, const unordered_multimap <Key, Type, Hash, Pred, Allocator>& right);
パラメーター
left
unordered_multimap
型オブジェクト。
right
unordered_multimap
型オブジェクト。
戻り値
unordered_multimap が等しい場合は、true
。等しくない場合は、false
。
解説
unordered_multimap オブジェクト間の比較は、要素を任意の順序で格納することによる影響を受けません。 同じ数の要素が存在し、一方のコンテナー内の要素がもう一方のコンテナー内の要素の順列である場合、2 つの unordered_multimap は等しくなります。 それ以外の場合は等しくありません。
例
// unordered_multimap_op_eq.cpp
// compile by using: cl.exe /EHsc /nologo /W4 /MTd
#include <unordered_map>
#include <iostream>
#include <ios>
int main( )
{
using namespace std;
unordered_multimap<int, int> um1, um2, um3;
for ( int i = 0 ; i < 3 ; ++i ) {
um1.insert( make_pair( i, i ) );
um1.insert( make_pair( i, i ) );
um2.insert( make_pair( i, i ) );
um2.insert( make_pair( i, i ) );
um2.insert( make_pair( i, i ) );
um3.insert( make_pair( i, i ) );
um3.insert( make_pair( i, i ) );
}
cout << boolalpha;
cout << "um1 == um2: " << (um1 == um2) << endl;
cout << "um1 == um3: " << (um1 == um3) << endl;
cout << "um2 == um3: " << (um2 == um3) << endl;
}
/* Output:
um1 == um2: false
um1 == um3: true
um2 == um3: false
*/