Aracılığıyla paylaş


is_pod Sınıfı

Türün POD olup olmadığını sınar.

Sözdizimi

template <class T>
struct is_pod;

Parametreler

T
Sorgulanacak tür.

Açıklamalar

is_pod<T>::valueT true türü Düz Eski Veri (POD) ise olur. Aksi takdirde olur false.

Aritmetik türler, numaralandırma türleri, işaretçi türleri ve üye türleri işaretçisi POD'lardır.

POD türünün cv-qualified sürümü kendisi bir POD türüdür.

POD dizisinin kendisi POD'dur.

Statik olmayan veri üyeleri POD olan bir yapı veya birleşim, şu özelliklere sahipse pod'dur:

  • Kullanıcı tarafından bildirilen oluşturucu yok.

  • Özel veya korumalı statik olmayan veri üyeleri yok.

  • Temel olmayan sınıflar.

  • Sanal işlev yok.

  • Başvuru türünün statik olmayan veri üyesi yok.

  • Kullanıcı tanımlı kopyalama atama işleci yok.

  • Kullanıcı tanımlı yok edici yok.

Bu nedenle, POD yapılarını ve dizilerini içeren POD yapılarını ve dizilerini özyinelemeli olarak oluşturabilirsiniz.

Örnek

// std__type_traits__is_pod.cpp
// compile with: /EHsc
#include <type_traits>
#include <iostream>

struct trivial {
    int val;
};

struct throws {
    throws() {}  // User-declared ctor, so not POD

    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);
}
is_pod<trivial> == true
is_pod<int> == true
is_pod<throws> == false

Gereksinimler

Üst Bilgi:<type_traits>

Ad alanı: std

Ayrıca bkz.

<type_traits>