Что касается этого вопроса: 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>(...)
Это хорошо, хорошо или, может быть, единственный способ?
Приветствия
да. это не так ... но может быть, это хороший способ или единственный? –
Возможно, это не так хорошо, помните, что static_cast действителен в обоих направлениях, а reinterpret_cast здесь совершенно необоснован (вам нужен другой static_cast). –