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

QT6 源(16):存储 QT 里元对象的类信息的类 QMetaClassInfo 的类,只有两个成员函数 name()、value(),比元对象属性简单多了

(1)所在头文件 qmetaobject.h

class Q_CORE_EXPORT QMetaClassInfo
{
private:  //private 属性里包含了至关重要的数据成员的定义,放前面
    struct Data {
        enum { Size = 2 };
        const uint * d;  //包含了数组的起始地址
        uint name () const { return d[0]; }
        uint value() const { return d[1]; }
    };
	Data data;
    const QMetaObject * mobj; //指向 QMetaObject 对象
    friend struct QMetaObject; //声明友元类
public:
    constexpr inline QMetaClassInfo() : // 无参构造函数
    	mobj(nullptr), data({ nullptr }) {}
    	
    const char *name () const; //返回类信息的名字
    const char *value() const; //返回类信息的值
    
    inline const QMetaObject *enclosingMetaObject() const 
    { return mobj; } //返回本类里的数据成员 QMetaObject * 指针
};
Q_DECLARE_TYPEINFO(QMetaClassInfo, Q_RELOCATABLE_TYPE);
//这个宏是规定本类  QMetaClassInfo 的存储属性 

(2)本类的这俩属性,只可以通过本类访问。无法通过 QObject 或 QMetaObject 类来访问

在这里插入图片描述

(3)

谢谢

相关文章:

  • 数据驱动,数字能量分析API助力手机号数据解读
  • RAG Fusion技术详解与应用场景
  • 趣味编程之Spring的白学之路
  • 二、Android Studio环境安装
  • [React] 如何用 Zustand 构建一个响应式 Enum Store?附 RTKQ 实战与 TS 架构落地
  • 波束形成(BF)从算法仿真到工程源码实现-第七节-关于波束10个基本概念
  • Jenkins 发送钉钉消息
  • 前端jest(vitest)单元测试快速手上
  • Redis基础知识:
  • 解释:指数加权移动平均(EWMA)
  • C++ 编程指南36 - 使用Pimpl模式实现稳定的ABI接口
  • 链接世界:计算机网络的核心与前沿
  • 使用SSH解决在IDEA中Push出现403的问题
  • 基于电子等排体的3D分子生成模型 ShEPhERD - 评测
  • 从代码学习深度学习 - 多头注意力 PyTorch 版
  • 【2025软考高级架构师】——项目管理(3)
  • 【毕设】Python构建基于TMDB电影推荐系统
  • L2范数与权重衰退
  • 烟花爆竹储存作业安全要求
  • nodejs构建项目
  • 爬坡难下坡险,居民出行难题如何解?
  • 时隔3年,持续近2小时,俄乌在土耳其谈成了什么?
  • 俄媒:俄乌代表团抵达谈判会场
  • 长期吃太饱,身体会发生什么变化?
  • 临港新片区将新设5亿元启航基金:专门投向在临港发展的种子期、初创型企业
  • 日本一季度实际GDP环比下降0.2%