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