2014-04-25 1 views
4

Windows + MinGW에서 컴파일되지 않았으므로 (Linux에서는 잘 컴파일되었으므로) 유형 u_int8_t을 방금 발견했습니다. this site에 따르면 C++ 11 표준은 uint8_t 유형을 정의합니다. 방금 후자를 사용했고 모든 것이 효과가있었습니다. arisedC++ 11 uint types vs u_int

질문은 다음과 같습니다

  1. u_int8_tuint8_t 사이에 어떤 차이가 있습니까?
  2. u_int8_t을 사용하는 이유는 무엇입니까 (기존 코드 외에)?
  3. C++ 11 컴파일러 (다른 OS 또는 아키텍처)를 사용하는 경우 uint8_t이 존재한다고 가정하는 것이 안전합니까?
  4. 위 질문에 대한 답변은 다른 유형 (intX_tuintX_t)에도 유효합니까?
+0

가능한 중복 (http://stackoverflow.com/questions/13642827/cstdint-vs-stdint-h) – Klaus

+0

아니요 cstdint'와'stdint'의 차이와 거래를 언급 질문 .h'. 'u_int8_t '타입은'sys/types.h'에 정의되어 있습니다. 그러나이 헤더는 일반적으로 Windows 및/또는 MinGW에서 사용할 수 없습니다. – masgo

답변

9

u_int8_tuint8_t 사이에 어떤 차이가 있나요?

u_int8_t은 표준화되지 않은 매우 오래된 이름입니다. 그것을 피하십시오.

u_int8_t을 사용하는 이유는 무엇입니까 (기존 코드 외에)?

동료에 의한 자살.

다른 OS 또는 아키텍처의 C++ 11 컴파일러를 사용하는 경우 uint8_t이 존재한다고 가정하는 것이 안전합니까?

C++ 표준은 사용 가능한 부호없는 8 비트 유형 (현재는 이국적이지 않은 모든 것을 의미 함)이있는 모든 구현에 있어야합니다.

위 질문에 대한 답변은 다른 유형 (intX_tuintX_t)에도 유효합니까?

예, 그렇습니다. [ ]의