共用方式為


is_pod 類別

測試,如果型別是 PODS。

template<class Ty>
    struct is_pod;

參數

  • Ty
    查詢的型別。

備註

如果型別 Ty 是一般舊資料 (POD),is_pod<Ty>::value 是 true 。 否則為 false。

算術型別、列舉型別、指標型別和成員指標型別是 PODS。

POD 型別的 cv 限定版本是本身 POD 型別。

陣列 POD 本身 POD。

結構或等位,所有非靜態資料成員是 PODS,本身 POD,如果有:

  • 沒有使用者宣告的建構函式。

  • 沒有私用或保護的非靜態資料成員。

  • 沒有基底類別。

  • 沒有虛擬函式。

  • 未參考型別的非靜態資料成員。

  • 沒有使用者定義的複製指派運算子。

  • 沒有使用者定義的解構函式。

因此,您可以遞迴地建立包含 POD 結構和陣列的 POD 結構和陣列。

範例

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

需求

標題: <type_traits>

命名空間: std

請參閱

參考

<type_traits>

其他資源

<type_traits> 成員