std::add_const en C++ con ejemplos

La plantilla std::add_const de C++ STL está presente en el archivo de encabezado <type_traits> . La plantilla std::add_const de C++ STL se usa para obtener el tipo T con calificación const. El std::is_volatile se usa para verificar si el tipo T está calificado o no.

Archivo de cabecera:

#include<type_traits>

Clase de plantilla:

template < class T >
struct add_const;

Sintaxis:

std::add_const<T>::value

Parámetro: La plantilla std::add_const acepta un solo parámetro T (clase de rasgo) que se utiliza para declarar el tipo T como una constante calificada.

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

Programa:

// C++ program to illustrate
// std::add_const
#include <bits/stdc++.h>
#include <type_traits>
using namespace std;
  
// Driver Code
int main()
{
  
    // Declare variable of type
    // int, const int, const int*,
    // int * const and const int&
    typedef add_const<int>::type A;
    typedef add_const<const int>::type B;
    typedef add_const<const int*>::type C;
    typedef add_const<int* const>::type D;
    typedef add_const<const int&>::type E;
  
    cout << std::boolalpha;
  
    // Checking const of the above
    // declared variables
    cout << "A is const int? "
         << is_same<const int, A>::value
         << endl;
  
    cout << "B is const int? "
         << is_same<const int, B>::value
         << endl;
  
    cout << "C is const int? "
         << is_same<const int, C>::value
         << endl;
  
    cout << "D is const int? "
         << is_same<const int, D>::value
         << endl;
  
    std::cout << "E is const int? "
              << is_same<const int, E>::value
              << endl;
  
    return 0;
}
Producción:

A is const int? true
B is const int? true
C is const int? false
D is const int? false
E is const int? false

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

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 *