이 기사에서는 C++ STL에서 std::is_const 템플릿의 작동, 구문 및 예제에 대해 논의할 것입니다.
C++의 is_const 템플릿은 정의된 유형이 const 수식 유형인지 여부를 확인하는 데 사용됩니다.
const 수식 유형이란 무엇입니까?
유형의 값이 상수일 때 유형을 const-qualified라고 합니다. 상수 데이터 유형은 const에서 값이 초기화되면 프로그램 전체에서 변경하거나 변경할 수 없는 유형입니다.
구문
template <class T> is_const;
매개변수
템플릿은 T 유형의 매개변수만 가질 수 있으며 주어진 유형이 constqualifier인지 여부를 확인합니다.
반환 값
부울 값을 반환하고, 주어진 유형이 const 한정자이면 true를 반환하고, 주어진 유형이 const 한정자가 아니면 false를 반환합니다.
예시
Input: is_const<const int>::value; Output: True Input: is_const<int>::value; Output: False
예시
#include <iostream> #include <type_traits> using namespace std; int main() { cout << boolalpha; cout << "checking for is_const template: "; cout << "\nInt : "<<is_const<int>::value; cout << "\nConst int : "<< is_const<const int>::value; cout << "\nConst int& : "<< is_const<const int&>::value; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
checking for is_const template: Int : false Const int : true Const int& : false
예시
#include <iostream> #include <type_traits> using namespace std; int main() { cout << boolalpha; cout << "checking for is_const template: "; cout << "\nFloat : "<<is_const<float>::value; cout << "\nChar : "<<is_const<char>::value; cout << "\nFloat *: "<<is_const<float*>::value; cout << "\nChar *: "<<is_const<char*>::value; cout << "\nConst int* : "<< is_const<const int*>::value; cout << "\nint* const : "<< is_const<int* const>::value; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
checking for is_const template: Float : false Char: false Float *: false Char *: fakse Const int* : false int* const: true