<unordered_set>
运算符
operator!=
测试位于运算符左侧的 unordered_set 对象是否与位于右侧的 unordered_set 对象不相等。
bool operator!=(const unordered_set <Key, Hash, Pred, Allocator>& left, const unordered_set <Key, Hash, Pred, Allocator>& right);
参数
left
一个 unordered_set
类型的对象。
right
一个 unordered_set
类型的对象。
返回值
如果 unordered_set 不相等,则为 true
;如果它们相等,则为 false
。
备注
在其中存储元素的二元顺序不会影响 unordered_set 对象之间的比较。 如果两个 unordered_set 具有相同的元素数,并且一个容器中的元素是另一个容器中的元素的排列,则这两个 unordered_set 相等。 否则,它们不相等。
示例
// unordered_set_ne.cpp
// compile by using: cl.exe /EHsc /nologo /W4 /MTd
#include <unordered_set>
#include <iostream>
#include <ios>
int main()
{
using namespace std;
unordered_set<char> c1, c2, c3;
c1.insert('a');
c1.insert('b');
c1.insert('c');
c2.insert('c');
c2.insert('a');
c2.insert('d');
c3.insert('c');
c3.insert('a');
c3.insert('b');
cout << boolalpha;
cout << "c1 != c2: " << (c1 != c2) << endl;
cout << "c1 != c3: " << (c1 != c3) << endl;
cout << "c2 != c3: " << (c2 != c3) << endl;
return (0);
}
输出:
c1 != c2: true
c1 != c3: false
c2 != c3: true
operator==
测试位于运算符左侧的 unordered_set 对象是否与位于右侧的 unordered_set 对象相等。
bool operator==(const unordered_set <Key, Hash, Pred, Allocator>& left, const unordered_set <Key, Hash, Pred, Allocator>& right);
参数
left
一个 unordered_set
类型的对象。
right
一个 unordered_set
类型的对象。
返回值
如果 unordered_set 相等,则为 true
;如果它们不相等,则为 false
。
备注
在其中存储元素的二元顺序不会影响 unordered_set 对象之间的比较。 如果两个 unordered_set 具有相同的元素数,并且一个容器中的元素是另一个容器中的元素的排列,则这两个 unordered_set 相等。 否则,它们不相等。
示例
// unordered_set_eq.cpp
// compile by using: cl.exe /EHsc /nologo /W4 /MTd
#include <unordered_set>
#include <iostream>
#include <ios>
int main()
{
using namespace std;
unordered_set<char> c1, c2, c3;
c1.insert('a');
c1.insert('b');
c1.insert('c');
c2.insert('c');
c2.insert('a');
c2.insert('d');
c3.insert('c');
c3.insert('a');
c3.insert('b');
cout << boolalpha;
cout << "c1 == c2: " << (c1 == c2) << endl;
cout << "c1 == c3: " << (c1 == c3) << endl;
cout << "c2 == c3: " << (c2 == c3) << endl;
return (0);
}
c1 == c2: false
c1 == c3: true
c2 == c3: false
operator!= (multiset)
测试位于运算符左侧的 unordered_multiset 对象是否与位于右侧的 unordered_multiset 对象不相等。
bool operator!=(const unordered_multiset <Key, Hash, Pred, Allocator>& left, const unordered_multiset <Key, Hash, Pred, Allocator>& right);
参数
left
一个 unordered_multiset
类型的对象。
right
一个 unordered_multiset
类型的对象。
返回值
如果 unordered_multiset 不相等,则为 true
;如果它们相等,则为 false
。
备注
在其中存储元素的二元顺序不会影响 unordered_multiset 对象之间的比较。 如果两个 unordered_multiset 具有相同的元素数,并且一个容器中的元素是另一个容器中的元素的排列,则这两个 unordered_multiset 相等。 否则,它们不相等。
示例
// unordered_multiset_ne.cpp
// compile by using: cl.exe /EHsc /nologo /W4 /MTd
#include <unordered_set>
#include <iostream>
#include <ios>
int main()
{
using namespace std;
unordered_multiset<char> c1, c2, c3;
c1.insert('a');
c1.insert('b');
c1.insert('c');
c1.insert('c');
c2.insert('c');
c2.insert('c');
c2.insert('a');
c2.insert('d');
c3.insert('c');
c3.insert('c');
c3.insert('a');
c3.insert('b');
cout << boolalpha;
cout << "c1 != c2: " << (c1 != c2) << endl;
cout << "c1 != c3: " << (c1 != c3) << endl;
cout << "c2 != c3: " << (c2 != c3) << endl;
return (0);
}
c1 != c2: true
c1 != c3: false
c2 != c3: true
operator== (multiset)
测试位于运算符左侧的 unordered_multiset 对象是否与位于右侧的 unordered_multiset 对象相等。
bool operator==(const unordered_multiset <Key, Hash, Pred, Allocator>& left, const unordered_multiset <Key, Hash, Pred, Allocator>& right);
参数
left
一个 unordered_multiset
类型的对象。
right
一个 unordered_multiset
类型的对象。
返回值
如果 unordered_multiset 相等,则为 true
;如果它们不相等,则为 false
。
注解
在其中存储元素的二元顺序不会影响 unordered_multiset 对象之间的比较。 如果两个 unordered_multiset 具有相同的元素数,并且一个容器中的元素是另一个容器中的元素的排列,则这两个 unordered_multiset 相等。 否则,它们不相等。
示例
// unordered_multiset_eq.cpp
// compile by using: cl.exe /EHsc /nologo /W4 /MTd
#include <unordered_set>
#include <iostream>
#include <ios>
int main()
{
using namespace std;
unordered_multiset<char> c1, c2, c3;
c1.insert('a');
c1.insert('b');
c1.insert('c');
c1.insert('c');
c2.insert('c');
c2.insert('c');
c2.insert('a');
c2.insert('d');
c3.insert('c');
c3.insert('c');
c3.insert('a');
c3.insert('b');
cout << boolalpha;
cout << "c1 == c2: " << (c1 == c2) << endl;
cout << "c1 == c3: " << (c1 == c3) << endl;
cout << "c2 == c3: " << (c2 == c3) << endl;
return (0);
}
c1 == c2: false
c1 == c3: true
c2 == c3: false