C++类型推导(Deducing Types)

原文地址

一些开篇小废话
在公司里面做活,一个活做完了,就会做下一个活,还有更惨的,从这个语言转换到另外一个语言,现在就从Java到了C++和Python。虽然之前对C++还算可以,可是碰到类型推导相关的时候还是懵逼了,于是回过头接着学习C++11,C++14,可谓是学无止境,下边的章节翻译的是Effective Modern C++第一章节关于类型推导的部分。

第一章 类型推导

C++98有一套简单的类型推导规则:函数模板推导规则。C++11在这个基础上修改了一下,并且添加了两点,一个是为了auto,一个是为了decltype。C++14扩展了auto和decltype的使用上下文。类型推导的广泛使用把你从冗长的、多余的类型拼写中解放出来。使C++代码更容易适配,因为在源代码的一点修改一个类型可以通过类型推导传播到源代码的其他位置。但是也让代码的可读性下降,因为编译器推导的类型可能和你期望的不一致。

对类型推导是如何工作的没有一个完整的理解,那么谈用现代C++高效编程就是扯淡。由于类型推导可以发生在太多的场景:在调用模板函数,在大多数auto出现的地方,在decltype表达式中,以及,C++14中引入的令人费解的推导(auto)构造器。

这一章节提供了所有C++开发需要的类型推导的相关信息。解释了模板类型推导是如何工作的,auto如何建立在此基础之上的,以及decltype是如何工作的。以及解释了如何强制让编译器使他们的类型推导结果可见,因此可以让你确认编译器推导的类型就是你想要的。

准备下一篇的翻译

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值