C 中的成員函數指標:揭秘>* 和.
許多程式設計師發現指向成員的指標運算子> 和. 在C 語言中令人困惑,本文闡明了它們的用法以及何時使用它們而不是傳統的> ..
理解>* 和.
> 和. 是允許您存取成員函數的指向成員的指標運算子當您需要將成員函數動態綁定到某個物件時,可以使用這些運算子。 🎜>
要建立一個指向成員函數f 的指針,我們可以使用typedef:
現在,我們可以將f 指派給指標somePointer:
struct X { void f() {} void g() {} };
要使用指標呼叫成員函數,我們需要一個物件:
typedef void (X::*pointer)();
如果x 是指向物件的指針,我們需要使用>*相反:
pointer somePointer = &X::f;
X x; (x.*somePointer)(); // Calls x.f()
X* px = new X; (px ->* somePointer)(); // Calls px->f()
。 。了解它們的用法以及何時使用它們而不是傳統的>和.,可以增強程式碼的靈活性和可重用性。
以上是C 成員函數指標:何時使用 `->*` 與 `.`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!