Comments 3
Дело в том, что в 64-ёх битном режиме компилятор g++ пишет указатель на структуру std::type_info в совершенно диком виде.
Это формат кодировки указателей в отладочной информации DWARF.
А почему нельзя писать как есть, как делает clang?
Особенно доставляет, когда начинают какие-то оптимизации придумывать на основе знаний, где и что конкретный компилятор положит, или хитрое использование UB. Например, почему нельзя просто взять и собрать Linux kernel не GCC, а clang? Или забавные интервьюеры ещё попадаются, которые очень каверзные вопросы про C++ спрашивают, думают, что если закастить указатель на объект на что-то там, и получить доступ к v-table, и что-то там ещё хитро съоптимизировать.
Sign up to leave a comment.
Продолжение серии статей про работу исключений в С++ «под капотом»