Udostępnij za pośrednictwem


is_pod — Klasa

Sprawdza, czy typ jest POD.

template<class Ty>
    struct is_pod;

Parametry

  • Ty
    Typ kwerendy.

Uwagi

is_pod<Ty>::valuejest true Jeśli typ Ty jest zwykły stary danych (POD).W przeciwnym razie jest false.

Typy arytmetyczne, wyliczenie typy wskaźnika, a wskaźnik do typów elementów członkowskich są POD.

Kwalifikowana cv wersja typ POD jest typu POD.

Tablica POD jest POD.

Struct lub Unii, którego członkami danych statycznych są POD, jest sam POD jeśli ma:

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

  • Nie elementów członkowskich danych statycznych prywatnym ani chronionym.

  • Żadne klasy podstawowej.

  • Nie funkcje wirtualnych.

  • Nie statycznych elementów członkowskich danych typu odwołania.

  • Nie zdefiniowany przez użytkownika operator przypisania.

  • Nie destruktora zdefiniowanej przez użytkownika.

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

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>

Przestrzeń nazw: std

Zobacz też

Informacje

<type_traits>

Inne zasoby

<type_traits> Członkowie