11

知りたいのですが、QVariantが内部的に、int、QMap、QListなどを格納する方法...

内部データ構造/実装とは何ですか?QVariantで型(int、float)を格納および取得するオーバーヘッドはどれくらいですか?

4

1 に答える 1

19

コードをざっと見てみると、aQVariantは基本的unionにいくつかのプリミティブ型(intなどfloat)、QObjectポインター、およびaでもプリミティブvoid*でもない他のものへのポインターであることがわかりQObjectます。現在そこに実際に何が格納されているかを知ることができる型データメンバーもあります。オーバーヘッドは、構造体のメンバーに格納し、型の互換性をチェックし、場合によっては変換(たとえば、intからfloat)を行うだけのようです。

于 2011-02-13T11:28:06.037 に答える