亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

解開std :: type_info :: name的結果

解開std :: type_info :: name的結果

C++
郎朗坤 2019-08-02 13:52:23
解開std :: type_info :: name的結果我目前正在研究一些日志代碼,它們應該 - 除其他外 - 打印有關調用函數的信息。這應該相對容易,標準C ++有一個type_info類。它包含typeid'd類/函數/ etc的名稱。但它被破壞了。它不是很有用。即typeid(std::vector<int>).name()回歸St6vectorIiSaIiEE。有沒有辦法從中產生有用的東西?就像std::vector<int>上面的例子一樣。如果它只適用于非模板類,那也沒關系。該解決方案應該適用于gcc,但如果我可以移植它會更好。這是為了記錄所以它不是那么重要,它不能被關閉,但它應該有助于調試。
查看完整描述

3 回答

?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

這就是我們使用的。HAVE_CXA_DEMANGLE僅在可用時設置(僅限最新版本的GCC)。

#ifdef HAVE_CXA_DEMANGLEconst char* demangle(const char* name){
   char buf[1024];
    unsigned int size=1024;
    int status;
    char* res = abi::__cxa_demangle (name,
                                 buf,
                                 &size,
                                 &status);
    return res;
  }#elseconst char* demangle(const char* name){
  return name;}#endif


查看完整回答
反對 回復 2019-08-02
  • 3 回答
  • 0 關注
  • 1179 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號