Безопасно ли переинтерпретировать_приведение из std::function<void()> * в std::function<std::monostate()> *?

Пример:

      std::function<std::monostate()> convert(std::function<void()> func){
    return *reinterpret_cast<std::function<std::monostate()> * >(&func);
}

Являютсяstd::function<void()>иstd::function<std::monostate()>считается достаточно "похожим" дляreinterpret_castбыть в безопасности?

Изменить: кто-то попросил меня уточнить, о чем я спрашиваю. Я не спрашиваю, похожи ли общие случаи foo<X> и foo<Y>, а спрашиваю, похожи ли foo<void> и foo<std::monostate>.

0 ответов

Другие вопросы по тегам