我想知道,QVariant如何在内部存储,int,QMap,QList,......
我的意思是什么是内部数据结构/实现?在QVariant中存储和检索类型(int,float)的开销是多少?
答案 0 :(得分:19)
快速查看代码后发现,QVariant
基本上是几种基本类型union
(int
,float
等等),QObject
}指针和void*
指针,用于其他任何不是QObject
而不是基元的指针。还有一个类型数据成员,可以让它知道当前存储的内容。开销似乎只是存储到结构的成员,检查类型兼容性并可能进行转换(例如int到float)