Open In App

std::remove_const in C++ with Examples

Last Updated : 21 Jun, 2020
Comments
Improve
Suggest changes
Like Article
Like
Report
The std::remove_const template of C++ STL is present in the <type_traits> header file. The std::remove_const template of C++ STL is used to get the type T without const qualification. It return the boolean value true if T is without const qualified, otherwise return false. Below is the syntax for the same: Header File:
#include<type_traits>
Template Class:
template <class T>
struct remove_const;
Syntax:
std::remove_const<T>::value
Parameter: This template std::remove_const accepts a single parameter T(Trait class) to check whether T is without const qualified or not. Return Value: The template std::remove_const returns a boolean value:
  • True: If type T is without const qualified.
  • False: If type T is with const qualified.
Below is the program to demonstrate std::remove_const in C++: Program: CPP14
// C++ program to illustrate
// std::remove_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 remove_const<int>::type A;
    typedef remove_const<const int>::type B;
    typedef remove_const<const int*>::type C;
    typedef remove_const<int* const>::type D;
    typedef remove_const<const int&>::type E;

    cout << std::boolalpha;

    // Checking const of the above
    // declared variables
    cout << "A is without const int? "
         << is_same<int, A>::value
         << endl;

    cout << "B is without const int? "
         << is_same<int, B>::value
         << endl;

    cout << "C is without const int? "
         << is_same<int, C>::value
         << endl;

    cout << "D is without const int? "
         << is_same<int, D>::value
         << endl;

    cout << "E is without const int? "
         << is_same<const int, E>::value
         << endl;

    return 0;
}
Output:
A is without const int? true
B is without const int? true
C is without const int? false
D is without const int? false
E is without const int? false
Reference: http://www.cplusplus.com/reference/type_traits/remove_const/

Next Article
Article Tags :
Practice Tags :

Similar Reads