我正在學習 C 中的無人機編程。我找到了這個功能:
void Vehicle::_announceArmedChanged(bool armed)
但是當我搜索的時候,所有的代碼都是不帶引數呼叫這個函式的,比如:
connect(this, &Vehicle::armedChanged, this, &Vehicle::_announceArmedChanged);
在這種情況下,程式從哪里獲得armed狀態?
uj5u.com熱心網友回復:
在這種情況下,announceArmedChanged()是一個回呼函式。您顯示的代碼沒有呼叫 announceArmedChanged(). 它傳遞的是 Qt 框架的to的記憶體地址,它會記住該地址并將其與指定的event相關聯。當其他代碼稍后使用適當的狀態值觸發事件時,將使用該值呼叫。announceArmedChangedQObject::connect()armedChanged armedChangedannounceArmedChanged()
閱讀Qt 檔案中的信號和插槽以獲取更多詳細資訊。
uj5u.com熱心網友回復:
指向成員函式的指標
指向
f屬于類成員的非靜態成員函式的指標C可以&C::f準確地用運算式初始化。諸如&(C::f)或&finsideC的成員函式之類的運算式不會形成指向成員函式的指標。
https://en.cppreference.com/w/cpp/language/pointer
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/378726.html
上一篇:當同一單詞出現在另一列時合并行
下一篇:包裝器生成器SWIG(C /Perl):如何在Perl中訪問一維向量<double>中的“blessed”物件?
