Почему я могу использовать static_cast с void *, но не с char *

я знаю этоreinterpret_cast в основном используется собирается или изchar*.

Но я был удивлен, обнаружив, чтоstatic_cast может сделать то же самое сvoid*, Например:

auto foo "hello world"s;
auto temp = static_cast<void*>(&foo);
auto bar = static_cast<string*>(temp);

Что мы получаем от использованияreinterpret_cast а такжеchar* надstatic_cast а такжеvoid*? Это как-то связано со строгой проблемой алиасинга?

Ответы на вопрос(2)

Ваш ответ на вопрос