c++获取打印 class类名 及相关

2021/7/19 14:06:09

本文主要是介绍c++获取打印 class类名 及相关,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1 typedid

C++ typeid运算符:获取类型信息 http://c.biancheng.net/view/2301.html

怎样在C++中获得完整的类型名称 - zfyouxi - 博客园 https://www.cnblogs.com/zfyouxi/p/5060288.html


2 信息解析

mangle和demangle - 巴黎河畔 - 博客园 https://www.cnblogs.com/robinex/p/7892795.html


3 给出一个例子

//log.h
#ifndef __LOG_H__
#define __LOG_H__

#include <iostream>
#include <stdio.h>
#include <string>
#include <stdlib.h>
#include <unistd.h>

#include <typeinfo> // typeid need
#include <cxxabi.h> // abi need

// get class name
static int  demangle_status; //注意这里必须是static,否则会运行时报错多重定义
#define __CLASS__ __class__
#define __class__ abi::__cxa_demangle(typeid(*this).name(), 0, 0, &demangle_status)

#endif



这篇关于c++获取打印 class类名 及相关的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程