Поделиться через


Класс has_trivial_destructor

Тесты, если тип имеет тривиальный деструктор.

template<class Ty>
    struct has_trivial_destructor;

Параметры

  • Ty
    Тип в запрос.

Заметки

Экземпляр предиката типа содержит значение true, если тип Ty класс, который содержит тривиальный деструктор, в противном случае — значение false.

Деструктор класса Ty нетривиальной задачей, если:

это неявно объявленный деструктор

все непосредственно базы класса Ty имеют тривиальные деструкторы

классы всех не статических членов данных типа класса имеют тривиальные деструкторы

классы всех элементов массива не статических данных типа класса имеют тривиальные деструкторы

Пример

 

// 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); 
    } 
 
  

Требования

Заголовок: <type_traits>

Пространство имен: std

См. также

Ссылки

<type_traits>

Класс has_trivial_constructor

Класс has_virtual_destructor

Другие ресурсы

Члены <type_traits>