std :: remove_const в C ++ с примерами

Опубликовано: 29 Декабря, 2021

Шаблон std :: remove_const C ++ STL присутствует в заголовочном файле <type_traits>. Шаблон std :: remove_const C ++ STL используется для получения типа T без квалификации const. Он возвращает логическое значение true, если T не квалифицируется как const, в противном случае возвращает false. Ниже приведен синтаксис того же:

Заголовочный файл:

#include <type_traits>

Класс шаблона:

шаблон <класс T>
struct remove_const;

Синтаксис:

std :: remove_const <T> :: значение

Параметр: этот шаблон std :: remove_const принимает один параметр T (класс признаков), чтобы проверить, не имеет ли T квалификатор const или нет.

Возвращаемое значение: шаблон std :: remove_const возвращает логическое значение:

  • Истина: если тип T не квалифицируется как const.
  • Ложь: если тип T квалифицируется как const.

Ниже приведена программа для демонстрации std :: remove_const в C ++:

Программа:

// 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;
}
Выход:
А без const int? правда
B без const int? правда
C без const int? ложный
D без const int? ложный
E без const int? ложный

Ссылка: http://www.cplusplus.com/reference/type_traits/remove_const/

Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
C++