原諒我,如果這是一個愚蠢的問題,但我不能讓我的頭圍繞以下一段代碼指針:類型轉換用的static_cast <>
struct myStruct
{
static void func1(const event, void* pthis)
{
myStruct& foo = *static_cast<myStruct*>(pthis);
if(event.action != ...).... return;
if(event.action == ...) foo.func2();
}
void func2()
{}
}
所以...... pthis澆鑄爲類型爲myStruct的靜態指針?這是否意味着foo是'reference to myStruct'的類型,並且等於pthis指向的值。
本質上,foo指向myStruct,而不訪問myStruct的實例?
我真的不明白這一點...
'* static_cast'它在轉換後取消引用 – billz 2014-09-02 11:10:12
[C++中指針變量和引用變量之間的區別是什麼?](https://stackoverflow.com/questions/57483/what-are-the-differences在指針變量和參考變量中,rq = 1) – 2014-09-02 11:14:05
爲什麼'func1()'只接受'myStruct'的引用?這個設計的目的是什麼......我的頭真的無法繞過那個:( – 2014-09-02 12:45:36