Compartilhar via


Classe has_trivial_destructor

Testa se o tipo tem o destruidor trivial.

template<class Ty>
    struct has_trivial_destructor;

Parâmetros

  • Ty
    O tipo para consulte.

Comentários

Uma instância do predicado do tipo se aplica se o tipo Ty é uma classe que tem um destruidor trivial, se não mantém false.

Um destruidor para uma classe Ty é trivial se:

é um destruidor implicitamente declarado

todas as bases diretas da classe Ty têm destruidores triviais

as classes de todos os membros de dados que não sejam do tipo estático da classe com destruidores triviais

as classes de todos os membros de dados que não sejam estáticos de matriz do tipo da classe com destruidores triviais

Exemplo

 

// std_tr1__type_traits__has_trivial_destructor.cpp 
// compile with: /EHsc 
#include <type_traits> 
#include <iostream> 
 
struct trivial 
    { 
    int val; 
    }; 
 
struct throws 
    { 
    throws() throw(int) 
        { 
        } 
 
    throws(const throws&) throw(int) 
        { 
        } 
 
    throws& operator=(const throws&) throw(int) 
        { 
        } 
 
    ~throws() 
        { 
        } 
 
    int val; 
    }; 
 
int main() 
    { 
    std::cout << "has_trivial_destructor<trivial> == " << std::boolalpha 
        << std::has_trivial_destructor<trivial>::value << std::endl; 
    std::cout << "has_trivial_destructor<throws> == " << std::boolalpha 
        << std::has_trivial_destructor<throws>::value << std::endl; 
 
    return (0); 
    } 
 
  

Requisitos

Cabeçalho: <type_traits>

Namespace: std

Consulte também

Referência

<type_traits>

Classe has_trivial_constructor

Classe has_virtual_destructor

Outros recursos

<type_traits> Membros