C++返回一个变量类型的名称
2021/8/29 20:06:38
本文主要是介绍C++返回一个变量类型的名称,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
typeid关键字
运行时获知变量类型名称,可以使用 typeid(变量).name()
但对于某些编译器只会返回
#include<iostream> #include<typeinfo> #include<cxxabi.h> using namespace std; template<typename type> inline string type_of(type &x) { return abi::__cxa_demangle(typeid(x).name(),0,0,0); }
1 #include<iostream> 2 #include<typeinfo> 3 #include<cxxabi.h> 4 5 using namespace std; 6 7 template<typename type> 8 inline string type_of(type &x) 9 { 10 return abi::__cxa_demangle(typeid(x).name(),0,0,0); 11 } 12 13 unsigned long long a; 14 static short b; 15 __int128 c; 16 17 inline void d(int e,float f) 18 { 19 return; 20 } 21 22 struct node{ 23 char g; 24 char h[100]; 25 signed i; 26 }j[200]; 27 28 int k; 29 int *l=&k; 30 int **m=&l; 31 32 signed main() 33 { 34 register int n;//寄存器变量只能在栈空间中使用 35 cout<<"a: "<<type_of(a)<<endl; 36 cout<<"b: "<<type_of(b)<<endl; 37 cout<<"c: "<<type_of(c)<<endl; 38 cout<<"d: "<<type_of(d)<<endl; 39 cout<<"j: "<<type_of(j)<<endl; 40 cout<<"j[1].g: "<<type_of(j[1].g)<<endl; 41 cout<<"j[100].h: "<<type_of(j[100].h)<<endl; 42 cout<<"j[201].h[101]: "<<type_of(j[201].h[101])<<endl; 43 cout<<"j[201].i: "<<type_of(j[201].i)<<endl; 44 cout<<"k: "<<type_of(k)<<endl; 45 cout<<"l: "<<type_of(l)<<endl; 46 cout<<"m: "<<type_of(m)<<endl; 47 cout<<"n: "<<type_of(n)<<endl; 48 return 0; 49 }
这篇关于C++返回一个变量类型的名称的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-09CMS内容管理系统是什么?如何选择适合你的平台?
- 2025-01-08CCPM如何缩短项目周期并降低风险?
- 2025-01-08Omnivore 替代品 Readeck 安装与使用教程
- 2025-01-07Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5
- 2025-01-06PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”
- 2025-01-05Easysearch 可搜索快照功能,看这篇就够了
- 2025-01-04BOT+EPC模式在基础设施项目中的应用与优势
- 2025-01-03用LangChain构建会检索和搜索的智能聊天机器人指南
- 2025-01-03图像文字理解,OCR、大模型还是多模态模型?PalliGema2在QLoRA技术上的微调与应用
- 2025-01-03混合搜索:用LanceDB实现语义和关键词结合的搜索技术(应用于实际项目)