猿问
C ++中是否有__CLASS__宏?
__CLASS__
C ++中是否有一个宏,该宏的类名类似于
__FUNCTION__
提供函数名的宏
catspeake
浏览 494
回答 3
3回答
一只斗牛犬
我想建议我从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
0
0
0
随时随地看视频
慕课网APP
相关分类
C++
typedef入门问题
1 回答
我要回答