La plantilla std::is_convertible de C++ STL está presente en el archivo de encabezado <type_traits> . La plantilla std::is_convertible de C++ STL se usa para verificar si cualquier tipo de datos A es implícitamente convertible a cualquier tipo de datos B. Devuelve el valor booleano, ya sea verdadero o falso.
Archivo de cabecera:
#include<type_traits>
Clase de plantilla:
template< class From, class To > struct is_convertible; template< class From, class To > struct is_nothrow_convertible;
Sintaxis:
is_convertible <A*, B*>::value;
Parámetros: Toma dos tipos de datos de A y B como:
- A: Representa el parámetro a convertir.
- B: Representa el parámetro en el que implícitamente se convierte el parámetro A.
Valor devuelto:
- Verdadero: si un tipo de datos A dado se convierte en un tipo de datos B .
- Falso: si un tipo de datos A determinado no se convierte en un tipo de datos B.
A continuación se muestra el programa para demostrar std::is_convertible en C++:
Programa:
// C++ program to illustrate // std::is_convertible example #include <bits/stdc++.h> #include <type_traits> using namespace std; // Given classes class A { }; class B : public A { }; class C { }; // Driver Code int main() { cout << boolalpha; // Check if class B is // convertible to A or not bool BtoA = is_convertible<B*, A*>::value; cout << BtoA << endl; // Check if class A is // convertible to B or not bool AtoB = is_convertible<A*, B*>::value; cout << AtoB << endl; // Check if class B is // convertible to C or not bool BtoC = is_convertible<B*, C*>::value; cout << BtoC << endl; // Check if int is convertible // to float or not cout << "int to float: " << is_convertible<int, float>::value << endl; // Check if int is convertible // to const int or not cout << "int to const int: " << is_convertible<int, const int>::value << endl; return 0; }
Producción:
true false false int to float: true int to const int: true
Referencia: http://www.cplusplus.com/reference/type_traits/is_convertible/
Publicación traducida automáticamente
Artículo escrito por bansal_rtk_ y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA