Partilhar via


operador < <memória>

shared_ptr e weak_ptr menos de comparação.

template<class Ty1, class Ty2>
    bool operator<(const shared_ptr<Ty1>& left, const shared_ptr<Ty2>& right);
template<class Ty1, class Ty2>
    bool operator<(const weak_ptr<Ty1>& left, const weak_ptr<Ty2>& right);

Parâmetros

  • Ty1
    O tipo controlado pelo ponteiro compartilhado à esquerda.

  • Ty2
    O tipo controlado pelo ponteiro compartilhado à direita.

  • left
    O ponteiro compartilhado à esquerda.

  • right
    O ponteiro compartilhado à direita.

Comentários

As funções do modelo de impõem uma ordenação estrito fraco em objetos de seus respectivos tipos.A ordem real é específico de implementação, exceto que !(left < right) && !(right < left) é verdade somente quando left e right o proprietário ou aponte para o mesmo recurso. A ordenação impostas por essas funções permite o uso de Classe shared_ptr e Classe weak_ptr objetos sistema autônomo chaves em recipientes de associação.

Exemplo

 

// std_tr1__memory__operator_lt.cpp 
// compile with: /EHsc 
#include <memory> 
#include <iostream> 
 
int main() 
    { 
    std::tr1::shared_ptr<int> sp0(new int(0)); 
    std::tr1::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; 
    std::cout << "sp1 < sp0 == " << std::boolalpha 
        << (sp1 < sp0) << std::endl; 
    std::cout << std::endl; 
 
    std::tr1::weak_ptr<int> wp0(sp0); 
    std::tr1::weak_ptr<int> wp1(sp1); 
 
    std::cout << "wp0 < wp0 == " << std::boolalpha 
        << (wp0 < wp0) << std::endl; 
    std::cout << "wp0 < wp1 == " << std::boolalpha 
        << (wp0 < wp1) << std::endl; 
    std::cout << "wp1 < wp0 == " << std::boolalpha 
        << (wp1 < wp0) << std::endl; 
 
    return (0); 
    } 
 
sp0 < sp0 == false sp0 < sp1 == true sp1 < sp0 == false  wp0 < wp0 == false wp0 < wp1 == true wp1 < wp0 == false

Requisitos

Cabeçalho:<memória>

Namespace: std::tr1

Consulte também

Referência

<memória>TR1)

Classe shared_ptr

Classe weak_ptr

operador == <memória>

operador! = <memória>