获取变量名字
用宏定义,前一个输出结果作为第二个的输入
#define VNAME(value) (#value)
获取变量类型
#include <typeinfo> 或者#include <typeinfo.h>
typeid(value).name()
示例
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
#include <typeinfo>
#include <iostream>
using namespace std;
#define VNAME(value) (#value)
template <typename T>
int getValueType(T value,char *valueType)
{
if(valueType==NULL)
{
return -1;
}
const char *valueTypeBuf=NULL;
valueTypeBuf=typeid(value).name();
strcpy(valueType,valueTypeBuf);
return 0;
}
void main()
{
int num=99;
char valueType[10]={0};
printf("valueName:%s\n",VNAME(num));
getValueType(num,valueType);
printf("valueType:%s",valueType);
}