Plantilla is_fundamental en C++

La plantilla is_fundamental de C++ STL se usa para verificar si el tipo es un tipo fundamental o no. Devuelve un valor booleano que muestra lo mismo.

Sintaxis :

template <class T> struct is_fundamental;

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

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

  • Verdadero : si el tipo es fundamental.
  • Falso : si el tipo no es fundamental.

Los siguientes programas ilustran la plantilla is_fundamental en C++ STL:

Programa 1 :

// C++ program to illustrate
// is_fundamental template
  
#include <iostream>
#include <type_traits>
using namespace std;
  
// main program
class GFG {
};
  
int main()
{
    cout << boolalpha;
    cout << "is_fundamental:"
         << '\n';
    cout << "GFG :"
         << is_fundamental<GFG>::value
         << '\n';
    cout << "int :"
         << is_fundamental<int>::value
         << '\n';
    cout << "int& :"
         << is_fundamental<int&>::value
         << '\n';
    cout << "int* :"
         << is_fundamental<int*>::value
         << '\n';
  
    return 0;
}
Producción:

is_fundamental:
GFG :false
int :true
int& :false
int* :false

Programa 2 :

// C++ program to illustrate
// is_fundamental template
  
#include <iostream>
#include <type_traits>
using namespace std;
  
// main program
int main()
{
    cout << boolalpha;
    cout << "is_fundamental:"
         << '\n';
    cout << "float:"
         << is_fundamental<float>::value
         << '\n';
    cout << "float&:"
         << is_fundamental<float&>::value
         << '\n';
    cout << "float*:"
         << is_fundamental<float*>::value
         << '\n';
    cout << "double:"
         << is_fundamental<double>::value
         << '\n';
    cout << "double&:"
         << is_fundamental<double&>::value
         << '\n';
    cout << "double*:"
         << is_fundamental<double*>::value
         << '\n';
  
    return 0;
}
Producción:

is_fundamental:
float:true
float&:false
float*:false
double:true
double&:false
double*:false

Programa 3 :

// C++ program to illustrate
// is_fundamental template
  
#include <iostream>
#include <type_traits>
using namespace std;
  
// main program
int main()
{
    cout << boolalpha;
    cout << "is_fundamental:"
         << '\n';
    cout << "char:"
         << is_fundamental<char>::value
         << '\n';
    cout << "char&:"
         << is_fundamental<char&>::value
         << '\n';
    cout << "char*:"
         << is_fundamental<char*>::value
         << '\n';
    cout << "void :"
         << is_fundamental<void>::value
         << '\n';
  
    return 0;
}
Producción:

is_fundamental:
char:true
char&:false
char*:false
void :true

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 *