#include <iostream>
#include <typeinfo>
#include <cxxabi.h>
using namespace std;
template <typename T>
const char* name_for_type (T& type) {
int status;
return abi::__cxa_demangle(typeid(type).name(), 0, 0, &status);
}
int main() {
char test[] {1,2,3,4};
char test2[] {1,2};
char* penis = "peins";
cout << name_for_type(test) << endl;
cout << name_for_type(test2) << endl;
cout << name_for_type(penis) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZWluZm8+CiNpbmNsdWRlIDxjeHhhYmkuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KY29uc3QgY2hhciogbmFtZV9mb3JfdHlwZSAoVCYgdHlwZSkgewoJaW50IHN0YXR1czsKCXJldHVybiBhYmk6Ol9fY3hhX2RlbWFuZ2xlKHR5cGVpZCh0eXBlKS5uYW1lKCksIDAsIDAsICZzdGF0dXMpOwp9CgppbnQgbWFpbigpIHsKICAgIGNoYXIgdGVzdFtdICB7MSwyLDMsNH07CiAgICBjaGFyIHRlc3QyW10gezEsMn07CiAgICBjaGFyKiBwZW5pcyA9ICJwZWlucyI7CiAgICAKICAgIGNvdXQgPDwgbmFtZV9mb3JfdHlwZSh0ZXN0KSA8PCBlbmRsOwoJY291dCA8PCBuYW1lX2Zvcl90eXBlKHRlc3QyKSA8PCBlbmRsOwogICAgY291dCA8PCBuYW1lX2Zvcl90eXBlKHBlbmlzKSA8PCBlbmRsOwogICAgCglyZXR1cm4gMDsKfQ==