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