データの型を調べようとして typeid().name()をやっても、簡潔な文字列しか返って来ません
i は int となんとなく分かりますが、 x の long long や y の 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; }