呼叫 C 成員函數指標
理解 C 中呼叫成員函數指標的正確語法至關重要。本題探討了呼叫此類指標的具體方法,以及將成員函數新增至清單的過程。
呼叫成員函數的指標
該問題展示了嘗試使用以下語法呼叫指向成員函數的指標的程式碼片段:
(*h)(xPos, yPos, width, height);
但是,正確的語法需要同時提供命名參數和this 指標。因此,修正後的行變為:
(box->*h)(xPos, yPos, width, height);
這確保了在呼叫成員函數時使用正確的 this 指標。
將成員函數加入列表
該問題也示範如何將成員函數加入列表。這裡,指向成員函數的指標儲存在 std::list 中。下面的程式碼說明了這個過程:
std::list<HitTest> list; for (std::list<Box*>::const_iterator i = boxList.begin(); i != boxList.end(); ++i) { Box * box = *i; list.push_back(&box->HitTest); }
此程式碼迭代 Box 指標列表,並將每個 HitTest 成員函數的位址推送到 std::list 上。每個成員函數都由指向成員函數的指標表示,該成員函數會引用特定 Box 物件的 this 指標。
以上是如何正確呼叫和新增C指標到成員函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!