operator== (<memory>)
Das Überprüfen auf Gleichheit zwischen Objekten.
template<class Type, class Other>
bool operator==(
const allocator<Type>& _Left,
const allocator<Other>& _Right
) throw();
template<class Ty1, class Del1, class Ty2, class Del2>
bool operator==(
const unique_ptr<Ty1, Del1>& _Left,
const unique_ptr<Ty2, Del2>& _Right
);
template<class Ty1, class Ty2>
bool operator==(
const shared_ptr<Ty1>& _Left;,
const shared_ptr<Ty2>& _Right
);
Parameter
_Left
Eines der Objekte auf Gleichheit getestet werden soll._Right
Eines der Objekte auf Gleichheit getestet werden soll.Ty1
Der Typ bestimmt vom linken freigegebenen Zeiger.Ty2
Der Typ bestimmt vom rechten freigegebenen Zeiger.
Rückgabewert
true , wenn die Objekte gleich sind, false , wenn Objekte ungleich sind.
Hinweise
Der erste Operator Vorlagen gibt true zurück.Belegungsfunktionen Standard (Alle) gleich sind.
Im zweiten und dritten Vorlagen Operatoren geben _Left.get() == _Right.get()zurück.
Beispiel
// memory_op_eq.cpp
// compile with: /EHsc
#include <memory>
#include <iostream>
#include <vector>
using namespace std;
int main( )
{
allocator<char> Alloc;
vector <int>:: allocator_type v1Alloc;
allocator<char> cAlloc(Alloc);
allocator<int> cv1Alloc(v1Alloc);
if ( cv1Alloc == v1Alloc )
cout << "The allocator objects cv1Alloc & v1Alloc are equal."
<< endl;
else
cout << "The allocator objects cv1Alloc & v1Alloc are not equal."
<< endl;
if ( cAlloc == Alloc )
cout << "The allocator objects cAlloc & Alloc are equal."
<< endl;
else
cout << "The allocator objects cAlloc & Alloc are not equal."
<< endl;
}
// std_tr1__memory__operator_eq.cpp
// compile with: /EHsc
#include <memory>
#include <iostream>
int main()
{
std::shared_ptr<int> sp0(new int(0));
std::shared_ptr<int> sp1(new int(0));
std::cout << "sp0 == sp0 == " << std::boolalpha
<< (sp0 == sp0) << std::endl;
std::cout << "sp0 == sp1 == " << std::boolalpha
<< (sp0 == sp1) << std::endl;
return (0);
}
Anforderungen
Header: <memory>
Namespace: std