博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c++ 函数的签名、参数的类型
阅读量:5913 次
发布时间:2019-06-19

本文共 1517 字,大约阅读时间需要 5 分钟。

hot3.png

  在函数模板参数类型推导,或者 auto, typedef 表达式中的类型推导有帮助的功能代码:

在g++里有__FUNCTION__, __func__, __PRETTY_FUNCTION__  

  在vs2017 里智能提示中有__PRETTY_FUNCTION__ , __FUNCSIG__

  boost 里有

#include 
#include
template
void func(T t) {    boost::detail::current_function_helper();    std::cout << "BOOST_CURRENT_FUNCTION : " << BOOST_CURRENT_FUNCTION << std::endl;    std::cout << "T: "        << boost::typeindex::type_id_with_cvr
().pretty_name()        << std::endl;    std::cout << "t: "        << boost::typeindex::type_id_with_cvr
().pretty_name()        << std::endl;}

测试代码:

int main(){	printf("hello world!\n");	int x = 1;	test(x);	char *p = nullptr;	test(p);	char sz[8];	test(p);	const int &r = x;	test(r);	const int &&rr = std::move(x);	test(rr);    return 0;}

输出:

hello world!BOOST_CURRENT_FUNCTION : void __cdecl test
(const int &)T: intt: int const & __ptr64not a pointerBOOST_CURRENT_FUNCTION : void __cdecl test
(char *const &)T: char * __ptr64t: char * __ptr64 const & __ptr64pointerBOOST_CURRENT_FUNCTION : void __cdecl test
(char *const &)T: char * __ptr64t: char * __ptr64 const & __ptr64pointerBOOST_CURRENT_FUNCTION : void __cdecl test
(const int &)T: intt: int const & __ptr64not a pointerBOOST_CURRENT_FUNCTION : void __cdecl test
(const int &)T: intt: int const & __ptr64not a pointer

 

转载于:https://my.oschina.net/mingyuejingque/blog/1057633

你可能感兴趣的文章
如何使用jstack分析线程状态
查看>>
运营不需要人脉?
查看>>
ACK容器服务发布virtual node addon,快速部署虚拟节点提升集群弹性能力
查看>>
全方位解读Java反射(reflection)
查看>>
Spring Cloud Config服务器
查看>>
fprobe使用
查看>>
yum 安装rabbitMQ
查看>>
跟我学《JavaScript高程3》视频教程,下载地址
查看>>
GLSL变量
查看>>
使用nginx—搭建YUM仓库
查看>>
测试人员必学的软件快速测试方法(二)
查看>>
linux下以RPM包安装Oracle 客户端
查看>>
28. PowerShell -- 注册表操作
查看>>
artDialog-交互弹出插件_无效文章
查看>>
2015年后的九大企业级技术发展趋势
查看>>
搭建 android sdk环境
查看>>
LINUX常用的查看命令
查看>>
第14章 grep、sed、awk 正则表达式
查看>>
Game 游戏分类
查看>>
SCCM 2007 sp2 eva安装之一:sql server 2005安装及升级sp2
查看>>