Qt는 지원되는 플랫폼에서 일부 데이터 유형의 크기를 보장합니다. int
은 이 될 것이며 적어도은 32 비트이고, qint32
은 32 비트가 될 것입니다. 또는 다른 것? int
는 적어도 16 비트, 및 QRect
및 사용 QPoint
int
내부적에게 추천 Qt는 일부 구조가 될 것이다int는 Qt가 지원하는 각 플랫폼에서 32 비트가 보장되거나 qint32 만 보장됩니까?
C++ 보장한다. 이러한 유형의 경우 32 비트가 필요한 응용 프로그램을 개발 중이므로 더 큰 유형을 사용할 수 있도록 기능을 복제하지 않아도됩니다.
그러나 'QtGlobal'은 몇 가지 typedef를 정의합니다. 예를 들어, qint32에 대한 문서에는 "signed int에 대한 typedef가 있습니다.이 유형은 Qt에서 지원하는 모든 플랫폼에서 32 비트가됩니다." 그래서 이것은 'int'가 지원되는 모든 플랫폼에서 32 비트로 보장되어야한다는 것을 의미합니까? –
나는 그 결론을 도출하지 않을 것이다. 이 문서는 지원되는 모든 플랫폼에서 qint32가 32 비트 크기가되도록 보장합니다. 미래에 int가 32 비트가 아닌 플랫폼을 지원해야하는 경우 해당 플랫폼의 typedef가이를 반영하도록 변경됩니다. 이제 구현되었으므로 Qt에서 지원하는 모든 플랫폼에 32 비트 int가 있다고 가정 할 수 있습니다. 그러나 가정은 매우 사악합니다. –
qint32와 친구들의 목적은 서명과 크기가 보장 된 유형을 제공하는 것입니다. 표준 형식이 제공한다면, Qt typedef는 필요 없을 것입니다.) Qt 문서가 여기에 모호하게 표현되어 있습니다. –