std::is_literal_type en C++ con ejemplos

La plantilla std::is_literal_type de C++ STL está presente en el archivo de encabezado <type_traits> . La plantilla std::is_literal_type de C++ STL se utiliza para comprobar si la T es de tipo literal o no. Devuelve el valor booleano verdadero si T es de tipo literal, de lo contrario devuelve falso.

Archivo de cabecera:

#include<type_traits>

Modelo:

template< class T >
struct is_literal_type;

Sintaxis:

std::is_literal_type::value

Parámetro: la plantilla std::is_literal_type acepta un solo parámetro T (clase de rasgo) para comprobar si T es de tipo literal o no.

Valor devuelto: La plantilla std::is_literal_type devuelve una variable booleana como se muestra a continuación:

  • Verdadero: si el tipo T es un tipo literal.
  • Falso: si el tipo T no es un tipo literal.

A continuación se muestra el programa para demostrar std::is_literal_type: en C/C++:

Programa:

// C++ program to illustrate
// std::is_literal_type
#include <bits/stdc++.h>
#include <type_traits>
using namespace std;
  
// Declare Classes
class X {
};
  
class Y {
  
    // Destructor
    ~Y() {}
};
  
// Declare structures
struct A {
    int m;
};
  
struct B {
    virtual ~B();
};
  
// Driver Code
int main()
{
  
    cout << boolalpha;
  
    // Check if int is literal type?
    cout << "int: "
         << is_literal_type<int>::value
         << endl;
  
    // Check if class X is literal type?
    cout << "class X: "
         << is_literal_type<X>::value
         << endl;
  
    // Check if class Y is literal type?
    cout << "class Y: "
         << is_literal_type<Y>::value
         << endl;
  
    // Check if int* is literal type?
    cout << "int*: "
         << is_literal_type<int*>::value
         << endl;
  
    // Check if struct A is literal type?
    cout << "struct A: "
         << is_literal_type<A>::value
         << endl;
  
    // Check if struct B is literal type?
    cout << "struct B: "
         << is_literal_type<B>::value
         << endl;
  
    return 0;
}
Producción:

int: true
class X: true
class Y: false
int*: true
struct A: true
struct B: false

Referencia: http://www.cplusplus.com/reference/type_traits/is_literal_type/

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *