QT及C 關鍵字

2021-10-01 15:06:32 字數 1643 閱讀 6076

override

描述:override保留字表示當前函式重寫了基類的虛函式。

目的:1.在函式比較多的情況下可以提示讀者某個函式重寫了基類虛函式(表示這個虛函式是從基類繼承,不是派生類自己定義的);2.強制編譯器檢查某個函式是否重寫基類虛函式,如果沒有則報錯。

用法:在類的成員函式引數列表後面新增該關鍵字既可。

例子:class base {

virtual void f();

};class derived : public base ;

class derived: public base ;

class derived: public base ;

注意:override只是c++保留字,不是關鍵字,這意味著只有在正確的使用位置,oerride才啟「關鍵字」的作用,其他地方可以作為標誌符(如:int override;是合法的)。

q_unused

q_unused(type);

q_unused() 沒有實質性的作用,用來避免編譯器警告

當你不使用這個型別使,編譯器會提示,但是加上後便會取消。

q_gadget:不需要從qobject繼承就可以使用qt的meta object功能

q_enums:對列舉物件進行反射(reflection)

q_signal:不需要signals關鍵字就可以將乙個函式指定為singal函式

q_slot:不需要slots關鍵字就可以將乙個函式指定為slot函式

q_foreach:qt提供的關鍵字foreach在配置檔案裡面定義了no_keywords的時候就失效了,而q_foreach巨集無論何時都有效

q_forever:原因同q_foreach,用法和關鍵字forever一樣

qchecksum:計算基於crc-16-ccitt演算法的crc-16校驗碼

qcompress/quncompress:基於zlib的演算法對位元組快取區進行壓縮/解壓,可以自定義壓縮比

qdeleteall:對容器或者迭代器中的每個物件進行delete操作

qround/qround64:對浮點數取整,四捨五入

qfuzzycompare:執行緒安全的浮點數模糊比較,處理了浮點精度誤差的問題

qversion:獲取當前正在執行的qt的版本號

sender:在slot函式中呼叫可以獲取傳送該signal的物件。僅用於來自同一執行緒的qt::directconnection連線的 signal。由於這種做法破壞了物件導向的原則,慎用!

qsysinfo:獲取當前執行的系統資訊,包括版本號等,mac/symbian/windows均適用

qtendian:處理不同體系架構下位元組儲存次序不同的問題

qobject::findchildren<>:找出隱藏的子物件

qobject_cast:不需要編譯器rtti的支援就可以實現c++標準庫dynamic_cast的功能

qprintable:類似qstring::tolocal8bit()::constdata(),但是更好記

qdebug():類似windows下的trace或者outputdebugstring

connect(someobj, signal(foo()), signal(bar()):通過乙個signal自動觸發另乙個signal。

後續

Qt 中C 的explicit 關鍵字

在qt中,我們經常都看到這樣的函式宣告 public explicit myaction qobject parent nullptr 有這個explicit關鍵字,那麼它的作用是什麼呢?關鍵字explicit可以禁止 單引數建構函式 被用於自動型別轉換,宣告為explicit的建構函式不能在隱式轉...

C語言關鍵字及說明

一 c語言的關鍵字共有32個,根據關鍵字的作用,可分其為資料型別關鍵字 控制語句關鍵字 儲存型別關鍵字和其它關鍵字四類。1 資料型別關鍵字 12個 1 char 宣告字元型變數或函式 2 double 宣告雙精度變數或函式 3 enum 宣告列舉型別 4 float 宣告浮點型變數或函式 5 int...

new關鍵字 this關鍵字 base關鍵字

使用new,所做的三件事 1.類是引用物件,引用物件是在堆中開闢空間 在堆中開闢空間 2.在開闢的堆空間中建立物件 3.呼叫物件的構建函式 4.隱藏父類成員 子類的成員可以與隱藏從父類繼承的成員,類似於重寫。public new void sayhello this關鍵字的使用 1.代表當前類的物件...