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