operator== (<memory>)
Tests d'égalité entre des objets.
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
);
Paramètres
_Left
L'un des objets pour les tests d'égalité._Right
L'un des objets pour les tests d'égalité.Ty1
le type contrôlé par le pointeur partagé gauche.Ty2
le type contrôlé par le pointeur partagé correct.
Valeur de retour
true si les objets sont égaux, false si les objets ne sont pas égales.
Notes
Le premier opérateur mod retourne la valeur true.(Tous les allocateurs par défaut sont égaux.)
Les deuxième et troisième opérateurs _Left.get() == _Right.get()de retour de modèle.
Exemple
// 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);
}
Configuration requise
en-tête : <memory>
l'espace de noms : type