plantilla is_pod en C++

La plantilla std::is_pod de C++ STL se usa para verificar si el tipo es un tipo de datos antiguos (POD) o no. Devuelve un valor booleano que muestra lo mismo.

Sintaxis :

template < class T > struct is_pod;

Parámetro : esta plantilla contiene un solo parámetro T (clase de rasgo) para verificar si T es un tipo de grupo o no.

Valor devuelto : esta plantilla devuelve un valor booleano como se muestra a continuación:

  • Verdadero : si el tipo es un tipo de pod.
  • False : si el tipo no es de tipo pod.

Los siguientes programas ilustran la plantilla std::is_pod en C++ STL:

Programa 1 :

// C++ program to illustrate
// std::is_pod template
  
#include <iostream>
#include <type_traits>
using namespace std;
  
struct gfg {
    int var1;
};
  
struct sam {
    int var2;
  
private:
    int var3;
};
  
struct raj {
    virtual void func();
};
  
int main()
{
    cout << boolalpha;
    cout << "is_pod:" << '\n';
    cout << "gfg:" << is_pod<gfg>::value << '\n';
    cout << "sam:" << is_pod<sam>::value << '\n';
    cout << "raj:" << is_pod<raj>::value << '\n';
    return 0;
}
Producción:

is_pod:
gfg:true
sam:false
raj:false

Programa 2 :

// C++ program to illustrate
// std::is_pod template
  
#include <iostream>
#include <type_traits>
using namespace std;
  
class gfg {
    int var1;
};
  
class sam {
    int var2;
  
private:
    int var3;
};
  
class raj {
    virtual void func();
};
  
int main()
{
    cout << boolalpha;
    cout << "is_pod:" << '\n';
    cout << "gfg:" << is_pod<gfg>::value << '\n';
    cout << "sam:" << is_pod<sam>::value << '\n';
    cout << "raj:" << is_pod<raj>::value << '\n';
    return 0;
}
Producción:

is_pod:
gfg:true
sam:true
raj:false

Programa 3 :

// C++ program to illustrate
// std::is_pod template
  
#include <iostream>
#include <type_traits>
using namespace std;
  
union gfg {
    int var1;
};
  
union sam {
    int var2;
  
private:
    int var3;
};
  
int main()
{
    cout << boolalpha;
    cout << "is_pod:" << '\n';
    cout << "gfg:" << is_pod<gfg>::value << '\n';
    cout << "sam:" << is_pod<sam>::value << '\n';
    return 0;
}
Producción:

is_pod:
gfg:true
sam:false

Publicación traducida automáticamente

Artículo escrito por rajasethupathi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *