"서명 된"키워드의 실제 사용은 무엇입니까?
부호없는 정수는 양수 (및 0) 일 뿐이며 일반 정수에 비해 두 배의 값을 가질 수 있습니다. 차이점이 있습니까?
int variable = 12;
과:
signed int variable = 12;
언제, 왜 서명 된 키워드를 사용해야합니까?
signed
키워드 를 사용할 수있는 인스턴스는 하나뿐입니다 . signed char
는 항상 "plain" char
과 다른 유형이며 구현에 따라 서명되거나 서명되지 않은 유형일 수 있습니다.
C ++ 14 3.9.1 / 1은 다음과 같이 말합니다.
char
객체가 음수 값을 보유 할 수 있는지 여부는 구현에서 정의 됩니다. 문자는 명시 적으로 선언unsigned
되거나signed
. 일반char
,,signed char
및unsigned char
세 가지 구별 유형입니다 [...]
다른 컨텍스트 signed
에서는 중복됩니다.
C ++ 14 이전 (및 C)에는 두 번째 인스턴스 인 비트 필드가있었습니다. 예를 들어, int x:2;
(클래스의 선언에서)와 같 unsigned int x:2;
거나 같은지 구현 정의 되었습니다 signed int x:2
.
C ++ 11 9.6 / 3은 다음과 같이 말했습니다.
그것은 일반 (어느 쪽도 명시 적으로 서명되지도 부호가) 여부를 구현 정의이다
char
,short
,int
,long
, 또는long long
비트 필드가 서명 또는 부호.
그러나 C ++ 14 이후로 이것은 int x:2;
항상 signed int
. 토론 링크
의 경우 int
차이가 없습니다. 와만 차이가납니다 char
.
char
서명 여부에 관계없이 정의되지 않습니다.char
,,signed char
그리고unsigned char
세 가지 유형이 있습니다.
따라서 (아마도 드물게) signed
필요한 경우 사용해야 합니다 signed char
. 그 외에는 이유가 생각 나지 않습니다.
signed
기본 정수 유형입니다. 그래서 아니, 당신이 준 예에는 차이가 없습니다. 의 경우에만 차이가 있습니다 char
.
출처 : C ++ 참조
int가 관련된 두 가지 사이에는 차이가 없습니다. unsigned int를 더 쉽게 정렬하고 읽을 수 있도록 선언하는 경우 서식 지정을 위해 서명 된 단어를 포함 할 수 있지만 모든 의도와 목적을 위해 서명 된 키워드를 사용할 필요가 없습니다.
참조 URL : https://stackoverflow.com/questions/28012943/what-is-the-actual-use-of-signed-keyword
'program story' 카테고리의 다른 글
MySQL Alter 테이블로 인해 오류 : 잘못된 NULL 값 사용 (0) | 2020.12.24 |
---|---|
RecyclerView에서 불일치가 감지되었습니다. 스크롤하는 동안 RecyclerView의 내용을 변경하는 방법 (0) | 2020.12.24 |
How to open URL in Microsoft Edge from the command line? (0) | 2020.12.24 |
파이썬 데코레이터는 함수가 클래스에 속한다는 것을 잊게 만듭니다. (0) | 2020.12.24 |
루트 컨텍스트를 어떻게 지정합니까? (0) | 2020.12.24 |