이 기사에서는 C++ STL에서 std::is_signed 템플릿의 작동, 구문 및 예제에 대해 논의할 것입니다.
is_signed는
서명된 유형이란 무엇입니까?
이것들은 그들과 함께 부호 값을 포함하는 기본 산술 유형입니다. 모든 산술 데이터 유형은 부호가 있거나 부호가 없습니다.
음수로 값을 표시하려는 것처럼 부호 있는 유형을 사용합니다.
예:-1은 부호 있는 정수이고 -1.009는 부호 있는 부동 소수점입니다.
기본적으로 모든 유형은 서명되지 않은 것으로 만들기 위해 서명되어 있습니다. 데이터 유형에는 unsigned를 접두사로 붙여야 합니다.
구문
template <class T> is_signed;
매개변수
템플릿은 T 유형의 매개변수만 가질 수 있으며 T가 서명된 유형인지 여부를 확인합니다.
반환 값
Boolean 값을 반환하고, 주어진 유형이 Signed 유형이면 true를 반환하고, 서명된 유형이 아니면 false를 반환합니다.
예시
Input: is_signed<int>::value; Output: True Input: is_signed<unsigned int>::value; Output: False
예시
#include <iostream> #include <type_traits> using namespace std; class TP { }; enum TP_1 : int {}; enum class TP_2 : int {}; int main() { cout << boolalpha; cout << "checking for is_signed:"; cout << "\nint:" << is_signed<int>::value; cout << "\nTP:" << is_signed<TP>::value; cout << "\nTP_1:" << is_signed<TP_1>::value; cout << "\nTP_2:" << is_signed<TP_2>::value; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
checking for is_signed: Int: true TP: false TP_1: false TP_2: false
예시
#include <iostream> #include <type_traits> using namespace std; int main() { cout << boolalpha; cout << "checking for is_signed:"; cout << "\nfloat:" << is_signed<float>::value; cout << "\nSigned int:" << is_signed<signed int>::value; cout << "\nUnsigned int:" << is_signed<unsigned int>::value; cout << "\ndouble:" << is_signed<double>::value; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
checking for is_signed: Float: true Signed int: true Unsigned int: false Double: true