У меня есть метод класса функций, ValueHolder:: printValue
class ValueHolder {
public:
void printValue ();
} ;
Как определить свое искаженное имя во время компиляции (или время выполнения).
Например, я хотел бы сделать это:
const char *mangled_name = GetMangledNameOfSymbol(&ValueHolder::printValue);
Эта функция может возвращать строку, например:
"_ZN11ValueHolder10printValueEv"
В соответствии с @Marco A. Предпосылкой является современный компилятор. Один, который поддерживает typeid, и с включенными флагами, чтобы включить эту функцию.
Я также соглашусь с ответом, который может практиковаться для Gcc и Clang, и заглушкой для MSVC.