La plantilla std::is_const de C++ STL se usa para verificar si el tipo es un const calificado o no. Devuelve un valor booleano que muestra lo mismo.
Sintaxis :
template < class T >struct is_const;
Parámetro de plantilla : esta plantilla contiene un solo parámetro T (clase de rasgo) para verificar si T es un tipo calificado const.
Valor devuelto : esta plantilla devuelve un valor booleano como se muestra a continuación:
- Verdadero : si el tipo es un const-calificado.
- False : si el tipo no está calificado para const.
Los siguientes programas ilustran la plantilla is_const en C++ STL:
Programa 1 :
// C++ program to illustrate // is_const #include <iostream> #include <type_traits> using namespace std; // main program int main() { cout << boolalpha; cout << "is_const:" << endl; cout << "int:" << is_const<int>::value << '\n'; cout << "const int:" << is_const<const int>::value << '\n'; cout << "const int&:" << is_const<typename remove_reference<const int&>::type>::value << '\n'; return 0; }
Producción:
is_const: int:false const int:true const int&:true
Programa 2 :
// C++ program to illustrate // is_const #include <iostream> #include <type_traits> using namespace std; // main program int main() { cout << boolalpha; cout << "is_const:" << endl; cout << "const int*:" << is_const<const int*>::value << '\n'; cout << "int* const:" << is_const<int* const>::value << '\n'; cout << "const int&:" << is_const<const int&>::value << '\n'; return 0; }
Producción:
is_const: const int*:false int* const:true const int&:false
Programa 3 :
// C++ program to illustrate // is_const #include <iostream> #include <type_traits> using namespace std; // main program int main() { cout << boolalpha; cout << "is_const:" << endl; cout << "float:" << is_const<float>::value << '\n'; cout << "const float:" << is_const<const float>::value << '\n'; cout << "char const:" << is_const<char const>::value << '\n'; cout << "double:" << is_const<double>::value << '\n'; return 0; }
Producción:
is_const: float:false const float:true char const:true double: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