is_const Template in C++ Last Updated : 19 Nov, 2018 Comments Improve Suggest changes Like Article Like Report The std::is_const template of C++ STL is used to check whether the type is a const-qualified or not. It returns a boolean value showing the same. Syntax: template < class T >struct is_const; Template Parameter: This template contains single parameter T (Trait class) to check whether T is a const-qualified type. Return Value: This template returns a boolean value as shown below: True: if the type is a const-qualified. False: if the type is a non-const-qualified. Below programs illustrate the is_const template in C++ STL: Program 1: CPP // C++ program to illustrate // is_const #include <iostream> #include <type_traits> using namespace std; // main program int main() { cout << boolalpha; cout << "is_const:" << endl; cout << "int:" << is_const<int>::value << '\n'; cout << "const int:" << is_const<const int>::value << '\n'; cout << "const int&:" << is_const<typename remove_reference<const int&>::type>::value << '\n'; return 0; } Output: is_const: int:false const int:true const int&:true Program 2: CPP // C++ program to illustrate // is_const #include <iostream> #include <type_traits> using namespace std; // main program int main() { cout << boolalpha; cout << "is_const:" << endl; cout << "const int*:" << is_const<const int*>::value << '\n'; cout << "int* const:" << is_const<int* const>::value << '\n'; cout << "const int&:" << is_const<const int&>::value << '\n'; return 0; } Output: is_const: const int*:false int* const:true const int&:false Program 3: CPP // C++ program to illustrate // is_const #include <iostream> #include <type_traits> using namespace std; // main program int main() { cout << boolalpha; cout << "is_const:" << endl; cout << "float:" << is_const<float>::value << '\n'; cout << "const float:" << is_const<const float>::value << '\n'; cout << "char const:" << is_const<char const>::value << '\n'; cout << "double:" << is_const<double>::value << '\n'; return 0; } Output: is_const: float:false const float:true char const:true double:false Comment More infoAdvertise with us Next Article is_const Template in C++ R rajasethupathi Follow Improve Article Tags : Misc C++ STL cpp-template Practice Tags : CPPMiscSTL Similar Reads is_class template in C++ The std::is_class template of C++ STL is used to check whether the given type is class or not. It returns a boolean value showing the same. Syntax: template <class T> struct is_class; Parameter: This template accepts single parameter T (Trait class) to check whether T is a class or not. Return 2 min read is_empty template in C++ The std::is_empty template of C++ STL is used to check whether the given type is empty or not. This method returns a boolean value showing whether the given type is empty or not. Syntax: template < class T > struct is_empty; Parameters: This template contains single parameter T (Trait class) t 2 min read std::is_compound Template in C++ The std::is_compound template of C++ STL is used to check the whether the type is a compound type or not. It returns a boolean value showing the same. Syntax: template < class T > struct is_compound; Parameter: This template contains single parameter T (Trait class) to check whether T is a com 2 min read std::is_enum Template in C++ The std::is_enum template of C++ STL is used to check whether the given type is enum or not. It returns a boolean value showing the same. Syntax: template <class T> struct is_enum; Parameter: This template accepts single parameter T (Trait class) to check whether T is a enumeration type or not 2 min read is_abstract template in C++ The std::is_abstract template of C++ STL is used to check whether the type is a abstract class type or not. It returns a boolean value showing the same. Syntax: template < class T > struct is_abstract; Parameter: This template contains single parameter T (Trait class) to check whether T is a a 2 min read Like