(gcc)(C++)マングリングされた文字列をデマングリングする

データの型を調べようとして typeid().name()をやっても、簡潔な文字列しか返って来ません
i は int となんとなく分かりますが、 x の long longy の unsigned long long は 知らないともう想像も付きません、
この簡潔な文字を デマングリングすることで こちらが期待している文字列を取得することが出来ます、
以下に デマングリングのサンプルを書いておきます。

#include <cxxabi.h>
#include <cstdlib>
#include <iostream>
// 使用する場合は .cppファイルと同じディレクトリに この内容を demangle.h として置いて
// #include <"./demangle.h">
// を .cppファイルに追加してください。
// 引数には typeid(<調べたい値>).name() もしくは "PKc"のようにマングリングされた文字列 を入れてください
// 戻り値は デマングリング文字列が std::stringで返ってきます。
std::string demangle(char const* mangle)
{
  int status = 1;
  char* dem = abi::__cxa_demangle(mangle, 0, 0, &status);
  std::string ret;
  if (status == 0)
  {
    ret = std::string(dem);
  } else {
    ret = std::string("");
  }
  std::free(dem);
  return ret;
}