c++ 11记录
2021/7/4 17:51:16
本文主要是介绍c++ 11记录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
decltype关键字
decltype可以在编译期推导出一个变量或表达式的结果类型(但不会真正计算表达式的值),并且使用这个结果定义新的变量。
追踪返回类型
先看一个错误的案例:代码想推导出返回值(t + u)类型,为什么编译错误?
答:因为编译器是从左向右读入符号,此时t/u并没有读入,因此不能推导t+u的类型
template<typename R, typename T, typename U>
decltype(t + u) add(T t, U u)
{
return t + u;
}
解决方案:使用auto + decltype,实现 返回类型后置/追踪返回类型
返回类型后置(又称为追踪返回类型)的语法格式
①函数指针的等价:如,auto (*fp)() -> int 与int (*fp)()的等价;
②函数引用的等价:如,auto (&fr)() -> int 与 int (&fr)()的等价
template<typename R, typename T, typename U>
auto add(T t, U u) -> decltype(t + u) //返回类型后置
{
return t + u;
}
————————————————
版权声明:本文为CSDN博主「粪逗er」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_36750623/article/details/84848739
这篇关于c++ 11记录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-29Elasticsearch慢查询日志配置
- 2024-05-29揭秘华为如此多成功项目的产品关键——Charter模板
- 2024-05-29海外IDC业务拓展的7大挑战
- 2024-05-29InLine Chat功能优化对标Github Copilot,CodeGeeX带来更高效、更直观的编程体验!
- 2024-05-29CodeGeeX 智能编程助手 6 项功能升级,在Visual Studio插件市场霸榜2周!
- 2024-05-29AutoMQ 生态集成 Apache Doris
- 2024-05-292024年IDC行业的深度挖掘:机遇、挑战与未来展望
- 2024-05-29五款扩展组件齐发 —— Volcano、Keda、Crane-scheduler 等,邀你体验
- 2024-05-29AutoMQ 对象存储数据高效组织的秘密: Compaction
- 2024-05-29活动预告|来 GIAC 大会听大数据降本利器:AutoMQ 基于云原生重新设计的 Kafka