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

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

C ++中是否有__CLASS__宏?

C ++中是否有__CLASS__宏?

C++
catspeake 2019-12-20 10:46:49
__CLASS__C ++中是否有一個宏,該宏的類名類似于__FUNCTION__提供函數名的宏
查看完整描述

3 回答

?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

我想建議我從Scott Meyer的“ Effective Modern C ++”中學到的boost :: typeindex,這是一個基本示例:



#include <boost/type_index.hpp>


class foo_bar

{

    int whatever;

};


namespace bti =  boost::typeindex;


template <typename T>

void from_type(T t)

{

    std::cout << "\tT = " << bti::type_id_with_cvr<T>().pretty_name() << "\n";

}


int main()

{

    std::cout << "If you want to print a template type, that's easy.\n";

    from_type(1.0);

    std::cout << "To get it from an object instance, just use decltype:\n";

    foo_bar fb;

    std::cout << "\tfb's type is : "

              << bti::type_id_with_cvr<decltype(fb)>().pretty_name() << "\n";

}

編譯為“ g ++ --std = c ++ 14”會產生以下結果


輸出量


如果要打印模板類型,這很容易。


T =兩倍


要從對象實例獲取它,只需使用decltype:


fb的類型是:foo_bar


查看完整回答
反對 回復 2019-12-20
  • 3 回答
  • 0 關注
  • 521 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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