Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 is_arithmetic 템플릿

<시간/>

이 기사에서는 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