檢查繼承對於這個問題:When to use reinterpret_cast?使用的reinterpret_cast在編譯時
我發現某事。像這樣:
template<typename T> bool addModuleFactoryToViewingFactory(ViewingPackage::ViewingFactory* pViewingFactory)
{
static_cast<ModuleFactory*>(reinterpret_cast<T*>(0)); // Inheritance compile time check
...
}
這是一個很好的方式,以檢查是否T
可以在編譯時被強制轉換爲ModuleFactory
?
我的意思是,檢查程序員是否將有效的東西放入addModuleFactoryToViewingFactory<T>(...)
的<>
這是好的,好的還是唯一的方法?
問候
肯定的。它沒有錯......但這是一種好方法還是唯一的方法? – 2014-10-30 10:11:18
這可能不是那麼好,記得static_cast是有效的兩種方式,reinterpret_cast在這裏完全沒有根據(你需要另一個static_cast)。 – 2014-10-30 10:40:39