이 기사에서는 C++ STL에서 std::is_arithmetic 템플릿의 작동, 구문 및 예제에 대해 논의할 것입니다.
is_arithmetic 템플릿은 주어진 클래스 T가 산술 유형인지 여부를 확인하는 데 도움이 됩니다.
산술 유형이란 무엇입니까?
산술 유형은 다음과 같은 두 가지 유형으로 구성됩니다.
-
통합 유형 - 여기서 우리는 정수를 정의합니다. 다음은 적분 유형의 유형입니다 -
- 문자
- 부울
- int
- 긴
- 짧은
- 길게
- wchar_t
- char16_t
- char32_t
-
부동 소수점 유형 − 소수 부분을 보유할 수 있습니다. 다음은 부동 소수점의 종류입니다.
- 플로트
- 더블
- 롱 더블
따라서 템플릿 is_arithmatic은 정의된 유형 T가 산술 유형인지 확인하고 그에 따라 true 또는 false를 반환합니다.
구문
template <class T> is_arithmetic;
매개변수
템플릿은 T 유형의 매개변수를 하나만 가질 수 있으며 매개변수가 산술 유형인지 여부를 확인합니다.
반환 값
이 함수는 true 또는 false일 수 있는 bool 유형 값을 반환합니다. 주어진 유형이 산술이면 true를 리턴하고, 산술이 아니면 false를 리턴합니다.
예시
Input: is_arithmetic<bool>::value; Output: True Input: is_arithmetic<class_a>::value; Output: false
예시
#include <iostream> #include <type_traits> using namespace std; class TP { }; int main() { cout << boolalpha; cout << "checking for is_arithmetic template:"; cout << "\nTP class : "<< is_arithmetic<TP>::value; cout << "\n For Bool value: "<< is_arithmetic<bool>::value; cout << "\n For long value : "<< is_arithmetic<long>::value; cout << "\n For Short value : "<< is_arithmetic<short>::value; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
checking for is_arithmetic template: TP class : false For Bool value: true For long value : true For Short value : true
예시
#include <iostream> #include <type_traits> using namespace std; int main() { cout << boolalpha; cout << "checking for is_arithmetic template:"; cout << "\nInt : "<< is_arithmetic<int>::value; cout << "\nchar : "<< is_arithmetic<char>::value; cout << "\nFloat : "<< is_arithmetic<float>::value; cout << "\nDouble : "<< is_arithmetic<double>::value; cout << "\nInt *: "<< is_arithmetic<int*>::value; cout << "\nchar *: "<< is_arithmetic<char*>::value; cout << "\nFloat *: "<< is_arithmetic<float*>::value; cout << "\nDouble *: "<< is_arithmetic<double*>::value; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
checking for is_arithmetic template: Int : true Char : true Float : true Double : true Int * : float Char *: float Float *: float Double *: float