柚子快報(bào)激活碼778899分享:開發(fā)語言 Qt的常見數(shù)據(jù)類型
柚子快報(bào)激活碼778899分享:開發(fā)語言 Qt的常見數(shù)據(jù)類型
Qt的常見數(shù)據(jù)類型
1.Qt的基本數(shù)據(jù)類型
對(duì)于Qt中的基本數(shù)據(jù)類型,雖然名稱同C/C++中有所差異,但是其本質(zhì)還是一致的。
可以通過源碼查看其原型。
typedef int qint32;
源 碼 很 清 晰 的 指 出 ,qint32本質(zhì)就是int,Qt使用typedef關(guān)鍵字在int的基礎(chǔ)上進(jìn)行了二次封裝,讓其更具Qt特色。
可 以 使 用 sizeof(type) 查看對(duì)應(yīng)類型占用的內(nèi)存大小。
類型占用內(nèi)存大小(位)說明bool8(bit)位true/falseqint88(bit)位signed charqint1616(bit)位signed shortqint3232(bit)位signed intqint6464(bit)位long long intquint88(bit)位unsigned charquint1616(bit)位unsigned shortquint3232(bit)位unsigned intquint6464(bit)位unsigned long long intfloat32(bit)位單精度浮點(diǎn)數(shù)double64(bit)位雙精度浮點(diǎn)數(shù)const char *32(bit)位指向字符串常亮的指針,最后不能為0
2.Qt的基本數(shù)據(jù)類
Qt作為一個(gè)框架,包含非常多的類,其封裝的特點(diǎn)都是大寫“Q”開頭,再加上實(shí)體類的名字。
類說明QBitArray位數(shù)組QBrush定義了QPainter繪制圖形的填充模式QByteArray字節(jié)數(shù)組QColor顏色類QDate日期類QDateTime日期時(shí)間類QFont字體類QIcon圖標(biāo)類QImage顯示圖像的類QPicture處理圖片格式的類QPixmap處理PNG等格式圖片的類QTime提供時(shí)分秒的類QPen畫筆類,提供繪制線條的分格,厚度,顏色QPoint坐標(biāo)點(diǎn)類,提供處理X,Y,ZQSize尺寸類,寬度,高度
class Q_CORE_EXPORT QBitArray
{
friend Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const
QBitArray &);
friend Q_CORE_EXPORT QDataStream &operator>>(QDataStream &,
QBitArray &);
friend Q_CORE_EXPORT uint qHash(const QBitArray &key, uint seed)
Q_DECL_NOTHROW;
QByteArray d;
public:
inline QBitArray() Q_DECL_NOTHROW {}
explicit QBitArray(int size, bool val = false);
QBitArray(const QBitArray &other) : d(other.d) {}
inline QBitArray &operator=(const QBitArray &other) { d = other.d; return
*this; }
inline QBitArray(QBitArray &&other) Q_DECL_NOTHROW :
d(std::move(other.d)) {}
inline QBitArray &operator=(QBitArray &&other) Q_DECL_NOTHROW
{ qSwap(d, other.d); return *this; }
inline void swap(QBitArray &other) Q_DECL_NOTHROW { qSwap(d,
other.d); }
inline int size() const { return (d.size() << 3) - *d.constData(); }
inline int count() const { return (d.size() << 3) - *d.constData(); }
int count(bool on) const;
......
}
3.Qt的容器類
容器類都有一個(gè)比較共同的作用——存儲(chǔ)“對(duì)象”。
雖然這些容器類的作用都是用來作為存儲(chǔ)“對(duì)象”的容器,但是每個(gè)容器都是有自己的特點(diǎn),比如是否有序,唯一,插入、查詢效率的高低等,這些特點(diǎn)與容器的底層數(shù)據(jù)結(jié)構(gòu)息息相關(guān)。
類說明QHash
4.Qt的字符容器類
字符容器類也屬于容器范疇,它主要用于存儲(chǔ)字符。
類說明QString字符串類,支持Unicode編碼QStringList字符串列表的集合類QStringMatcher為查找與Unicode String字符串相對(duì)應(yīng)的字符串提供的類QStringRefsize()、position()、toString()等字符串包裝(Wrapper)類QChar支持16位Unicode字符(Character)的類QByteArray支持字符數(shù)組的類,類似于網(wǎng)絡(luò)文件傳送、實(shí)現(xiàn)數(shù)據(jù)流時(shí)使用QByteArrayMatcher利用QByterArray實(shí)現(xiàn)的字節(jié)數(shù)組索引查找對(duì)應(yīng)字符串QLatin1Char|QLatin1String支持US-ASCII/Latin-1編碼字符串的類QLocal將數(shù)字或字符顯示方式轉(zhuǎn)換為相應(yīng)的多語言表達(dá)方式QTextStream為寫或讀取文本提供的類,在文件中讀寫數(shù)據(jù)時(shí)使用
QString類源碼剖析:
class Q_CORE_EXPORT QString
{
public:
typedef QStringData Data;
...
Data *d;
...
}
QStringData 的宏定義:
typedef QTypedArrayData
struct QTypedArrayData
QTypedArrayData的本質(zhì):
struct QTypedArrayData : QArrayData
{...}
柚子快報(bào)激活碼778899分享:開發(fā)語言 Qt的常見數(shù)據(jù)類型
相關(guān)鏈接
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。