Udostępnij za pośrednictwem


is_pod Class

Testy, jeśli typem jest POD.

template<class Ty>
    struct is_pod;

Parametry

  • Ty
    Typ kwerendy.

Uwagi

is_pod<Ty>::valuejest true Jeśli typ Ty jest Plain Old danych (POD).W przeciwnym razie jest false.

Typy arytmetyczne, wyliczeń, typów wskaźników i wskaźnik do typów elementów członkowskich są POD.

Kwalifikacje cv wersja typu POD jest typu POD.

Tablica POD jest POD.

Struct lub Unii, wszystkich członków-statycznej dane, których są POD, jest sam POD, jeżeli ma ona:

  • Nie konstruktorów zgłoszone przez użytkowników.

  • Nie członków prywatnym ani chronionym danych-statycznej.

  • Żadne klasy podstawowej.

  • Nie funkcji wirtualnych.

  • Członkowie-statycznej danych typu odwołania.

  • Nie kopia zdefiniowane przez użytkownika operator przypisania.

  • Nie destruktora zdefiniowane przez użytkownika.

W związku z tym można rekursywnie kompilacji POD struktur i tablice zawierające POD struktur i tablic.

Przykład

// std_tr1__type_traits__is_pod.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) 
        { 
        } 
 
    int val; 
    }; 
 
int main() 
    { 
    std::cout << "is_pod<trivial> == " << std::boolalpha 
        << std::is_pod<trivial>::value << std::endl; 
    std::cout << "is_pod<int> == " << std::boolalpha 
        << std::is_pod<int>::value << std::endl; 
    std::cout << "is_pod<throws> == " << std::boolalpha 
        << std::is_pod<throws>::value << std::endl; 
 
    return (0); 
    } 
 
  

Wymagania

Nagłówek: <type_traits>

Obszar nazw: std

Zobacz też

Informacje

<type_traits>

Inne zasoby

<type_traits> Członkowie