La plantilla std::is_member_pointer de C++ STL está presente en el archivo de encabezado <type_traits> . La plantilla std::is_member_pointer de C++ STL se utiliza para comprobar si la T es un puntero a un miembro no estático o no. Devuelve el valor booleano verdadero si T es un puntero a un tipo de miembro no estático; de lo contrario, devuelve falso.
Archivo de cabecera:
#include<type_traits>
Clase de plantilla:
template<class T> struct is_member_pointer : std::integral_constant < bool, is_member_object_pointer<T>::value || is_member_function_pointer<T>::value> {};
Sintaxis:
std::is_member_pointer::value
Parámetros: la plantilla s td::is_member_pointer acepta un solo parámetro T (clase de rasgo) para verificar si T es un puntero a un miembro no estático o no.
Valor devuelto: esta plantilla devuelve una variable booleana como se muestra a continuación:
- Verdadero: si el tipo T es un puntero a un miembro no estático.
- Falso: si el tipo T no es un puntero a un miembro no estático.
A continuación se muestra el programa que ilustra la plantilla std::is_member_pointer en C/C++:
Programa:
// C++ program to illustrate // std::is_member_pointer #include <bits/stdc++.h> #include <type_traits> using namespace std; // Driver Code int main() { // Empty Class GFG class GFG { }; // Check if GFG::* is a member // pointer or not bool a = is_member_pointer<int(GFG::*)>::value; if (a) { cout << "GFG::* is a Member Pointer!" << endl; } else { cout << "GFG::* is not a Member Pointer!" << endl; } // Check if int is a member // pointer or not a = is_member_pointer<int(int)>::value; if (a) { cout << "int is a Member Pointer!" << endl; } else { cout << "int is not a Member Pointer!" << endl; } return 0; }
GFG::* is a Member Pointer! int is not a Member Pointer!
Referencia: http://www.cplusplus.com/reference/type_traits/is_member_pointer/
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