2014-11-14 47 views
2

您好我想知道,如果有人可以在一個結構,看起來像這樣給我解釋一下現場:struct中的奇數域? C++

struct example { 
void (SomeClass::*someMethod)(); 
}; 

究竟是該如何/你爲什麼要使用它?謝謝。

+0

http://stackoverflow.com/questions/8865766/get-a-pointer-to-object-member-function –

+0

這是人們不使用typedefs時會發生的情況。 – o11c

回答

5

該結構包含一個指向具有void返回類型和無參數的函數的指針。

我們將此指針設置爲實際函數的地址,並在一段時間後通過指針執行函數。函數指針是非常方便的事情,可以根據具體情況提供不同的功能來處理某些任務。

+0

爲什麼指向函數的指針在結構體中?將這個指針封裝在結構中有什麼意義?如果沒有封裝指針的結構,它會不會一樣? – Varaquilex

+0

它看起來像一個指向方法/成員函數的指針,而不是普通函數。 – Scooter

+0

我想知道你爲此得到了... – ravi

1
void (SomeClass::*someMethod)(); 

這是指向「SomeClass」類的成員函數的指針聲明,它接受並返回void。