所以,如果你從虛空轉換*以鍵入*或類型*到void *您應該使用:演員*爲TYPE *使用C++風格的轉換:的static_cast或reinterpret_cast的
void func(void *p)
{
Params *params = static_cast<Params*>(p);
}
或
void func(void *p)
{
Params *params = reinterpret_cast<Params*>(p);
}
對我來說,static_cast似乎更正確,但我見過這兩個用於相同的目的。另外,轉換的方向是否重要。即如果我仍然使用的static_cast爲:
_beginthread(func,0,static_cast<void*>(params)
我已經閱讀C++風格鑄造的其他問題,但我仍然不知道正確的方法是什麼這種情況下(我認爲是的static_cast)
那麼,爲何的reinterpret_cast <>?是否有使用reinterpre_cast <>的情況。其他3個鑄造操作員是否可以覆蓋所有的鑄造操作? – 2010-06-17 19:17:17
如果void *的另一邊將投射到基類,則在分配給void之前,您還需要投射到該基類。 – 2010-06-17 19:19:28
@Noah這方面的一些參考? – 2010-06-17 19:27:00