La plantilla std::is_member_object_pointer de C++ STL está presente en el archivo de encabezado <type_traits> . La plantilla std::is_member_object_pointer de C++ STL se usa para verificar si la T es un puntero a un objeto miembro de datos no estáticos o no. Devuelve el valor booleano verdadero si T es un puntero a un tipo de objeto miembro de datos no estáticos; de lo contrario, devuelve falso.
Archivo de cabecera:
#include<type_traits>
Clase de plantilla:
template< class T > struct is_member_object_pointer
Sintaxis:
std::is_member_function_pointer<T>::value
Parámetro: la plantilla std::is_member_object_pointer acepta un solo parámetro T (clase de rasgo) para verificar si T es un puntero a un tipo de objeto miembro de datos no estáticos o no.
Valor de retorno: esta plantilla std::is_member_object_pointer devuelve una variable booleana como se muestra a continuación:
- Verdadero: si el tipo T es un puntero a un tipo de objeto miembro de datos no estáticos.
- Falso: si el tipo T no es un puntero a un tipo de objeto miembro de datos no estáticos.
A continuación se muestra el programa para demostrar std::is_member_object_pointer: en C++:
Programa:
// C++ program to illustrate // std::is_member_object_pointer #include <bits/stdc++.h> #include <type_traits> using namespace std; // Declare a structure class GFG { public: int gfg; }; class A { }; // Driver Code int main() { // Object to class GFG int GFG::*pt = &GFG::gfg; cout << boolalpha; // Check if GFG* is a member object // pointer or not cout << "GFG*: " << is_member_object_pointer<GFG*>::value << endl; // Check if int GFG::* is a member // object pointer or not cout << "int GFG::* " << is_member_object_pointer<int GFG::*>::value << endl; // Check if int A::* is a member // object pointer or not cout << "int A::* " << is_member_object_pointer<int A::*>::value << endl; // Check if int A::*() is a member // object pointer or not cout << "int A::*() " << is_member_object_pointer<int (A::*)()>::value << endl; return 0; }
GFG*: false int GFG::* true int A::* true int A::*() false
Referencia: http://www.cplusplus.com/reference/type_traits/is_member_object_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