当前位置: 首页 > article >正文

Qt中的各种“q+基本数据类型“

前言

虽说Qt支持C++的数据类型,但是还是用Qt自己又封装的数据类型比较好。你在支持能有我原生的支持?

正文

先看qint系列

  • 有qint8,quint8,qint16,quint16,qint32,quint32,qint64,quint64

源码如下
在这里插入图片描述

解读

1. typedef signed char qint8;
  • 说明: 定义了一个 8 位有符号整数类型 qint8,使用 signed char 实现。
  • 范围: -128 到 127
2. typedef unsigned char quint8;
  • 说明: 定义了一个 8 位无符号整数类型 quint8,使用 unsigned char 实现。
  • 范围: 0 到 255
3. typedef short qint16;
  • 说明: 定义了一个 16 位有符号整数类型 qint16,使用 short 实现。
  • 范围: -32,768 到 32,767
4. typedef unsigned short quint16;
  • 说明: 定义了一个 16 位无符号整数类型 quint16,使用 unsigned short 实现。
  • 范围: 0 到 65,535
5. typedef int qint32;
  • 说明: 定义了一个 32 位有符号整数类型 qint32,使用 int 实现。
  • 范围: -2,147,483,648 到 2,147,483,647
6. typedef unsigned int quint32;
  • 说明: 定义了一个 32 位无符号整数类型 quint32,使用 unsigned int 实现。
  • 范围: 0 到 4,294,967,295
7. 处理 64 位整数类型

#if defined(Q_OS_WIN) && !defined(Q_CC_GNU)
意思是在 Windows 平台上(Q_OS_WIN 被定义),同时编译器不是 GNU 编译器(Q_CC_GNU 未被定义)。

  • Windows 平台:

    • 定义: Q_INT64_C(c)Q_UINT64_C(c) 用于定义 64 位整数常量。
    • 实现: 使用 __int64unsigned __int64 类型。
    • 说明:
      #define Q_INT64_C(c) c ## i64    /* signed 64 bit constant */
      #define Q_UINT64_C(c) c ## ui64   /* unsigned 64 bit constant */
      typedef __int64 qint64;            /* 64 bit signed */
      typedef unsigned __int64 quint64;  /* 64 bit unsigned */
      
  • 其他平台:

    • 定义: Q_INT64_C(c)Q_UINT64_C(c) 用于定义 64 位整数常量。
    • 实现: 使用 long longunsigned long long 类型。
    • 说明:
      #ifdef __cplusplus
      #  define Q_INT64_C(c) static_cast<long long>(c ## LL)     /* signed 64 bit constant */
      #  define Q_UINT64_C(c) static_cast<unsigned long long>(c ## ULL) /* unsigned 64 bit constant */
      #else
      #  define Q_INT64_C(c) ((long long)(c ## LL))               /* signed 64 bit constant */
      #  define Q_UINT64_C(c) ((unsigned long long)(c ## ULL))    /* unsigned 64 bit constant */
      #endif
      typedef long long qint64;           /* 64 bit signed */
      typedef unsigned long long quint64; /* 64 bit unsigned */
      

qlonglong

由下面源码可以看出
在这里插入图片描述
qlonglong等同于qint64,qulonglong等同于quint64

qreal

由源码可知qreal等于double
在这里插入图片描述


http://www.kler.cn/a/286110.html

相关文章:

  • P1880 [NOI1995] 石子合并【模板】区间DP
  • 安全入门day.03
  • 排序算法之归并排序详细解读(附带Java代码解读)
  • 功能强大的开源数据中台系统 DataCap 2024.03.9 发布
  • 反向迭代器:reverse_iterator的实现
  • STM32(F103ZET6)第二十四课:IAP离线固件升级
  • 【微服务】限流、熔断和降级(持续更新中~)
  • 第十七篇——九变篇:紧扣战略重心,别跑题
  • Java中的事件驱动架构(EDA)
  • 基于Python、Django的企业门户网站设计
  • gethub-rrsf
  • 10 款企业级项目管理系统是你理想中的那一款吗
  • (三)了解MySQL 【用户创建和权限/索引】
  • Docker深度探索:精通容器化的未来技术
  • Bazel 快速入门与核心知识
  • openGauss 5.0函数(Function)和过程(Procedure)
  • ARM/Linux嵌入式面经(二九):经纬恒润Linux开发
  • fpga图像处理实战-中值滤波
  • 英伟达最新论文解析:剪枝与知识蒸馏 —— 可穿戴AI时代即将到来
  • C++系列-STL容器之list