C++ typeid(x).name() returns ph

C++ typeid(x).name() returns ph

本文关键字:ph returns name typeid C++      更新时间:2023-10-16

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

对象的数据类型为 uint_8 *

这是一个损坏的类型字符串。如果你想要更人性化的东西,你需要把它传递到一个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*

这是正确的。