C ++ typeid(x).name()返回ph

时间:2014-11-25 01:00:22

标签: c++ pointers types

Ph的数据类型是什么?我知道我是int,s很短,l很长等等......但是ph是什么意思?

对象的数据类型为uint_8 *

1 个答案:

答案 0 :(得分:7)

它是一个受损的字符串。如果你想要一些更具人性化的东西,你需要把它传递给一个demangler(如果你正在使用gcc)c++filt(如果不在进程中)或abi::__cxa_demangle()如果在代码中:

#include <cxxabi.h>
#include <iostream>

int main() {
    char * name = abi::__cxa_demangle("Ph", 0, 0, 0);
    std::cout << name << std::endl;
    free(name);
}

打印:

unsigned char*

哪个是对的。