std::remove_const in C++ with Examples
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:
// 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/
Please Login to comment...