Plantilla is_arithmetic en C++

La plantilla std::is_arithmetic de C++ STL se usa para verificar si el tipo dado es aritmético o no. Un tipo aritmético significa un tipo integral o un tipo de punto flotante. Devuelve un valor booleano que muestra lo mismo.

Sintaxis :

template <class T> struct is_arithmetic;

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

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

  • Verdadero : si el tipo es una aritmética.
  • Falso : si el tipo no es aritmético.

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

Programa 1 :

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

is_arithmetic:
GFG: false
bool: true
long: true
short: true

Programa 2 :

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

is_arithmetic:
GFG: false
int: true
int const: true
int &: false
int *: false
long int: true

Programa 3 :

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

is_arithmetic:
float: true
float const: true
float &: false
float *: false
double: true
double const: true
double &: false
double *: false

Programa 4 :

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

is_arithmetic:
char: true
char const: true
char &: false
char *: 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 *