首页 文章

QVariant如何在内部工作?

提问于
浏览
11

我想知道,QVariant如何在内部存储,int,QMap,QList,......

我的意思是什么是内部数据结构/实现?在QVariant中存储和检索类型(int,float)的开销是多少?

1 回答

  • 19

    快速查看代码可以看出 QVariant 基本上是 union 的几种基本类型( intfloat 等'), QObject 指针和 void* 指针用于其他任何不是 QObject 而不是基元的指针 . 还有一个类型数据成员,可以让它知道当前存储的内容 . 开销似乎只是存储到结构的一个成员,检查它是否类型兼容并可能进行转换(例如int为float)

相关问题