博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
偶尔看到的c11新特性2
阅读量:6154 次
发布时间:2019-06-21

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

hot3.png

1.关键字decltype:

在c98模板缺陷的改进,例:

template
void ft(T1 x,T2 y){    ...?type xpy = x+y;//类型不知道,涉及类型转换,运算符重载.    }

在c11增加了decltype:

int x;decltype(x) y;//使得y的类型类似x.//在上面的问题可以这样解决decltype(x+y) xpy = x + y;//decltype(x+y)这整体是一种类型;deltype具体实现比这里的示例复杂

2.c++后置返回类型

template
?type? gt(T1 x,T2 y){    ...    return x+y;//x+y类型未知,}

不可使用decltype(x+y)作为返回类型,xy还未声明,就没有xy,当然就没有其类型,所以有下列语法

double h(int x,float y);使用新语法可以写成:

auto h(int x,float y) -> double;

则上面的模板可以写作:

auto gt(T1 x,T2 y) -> decltype(x+y){    ...    return x+y;}

转载于:https://my.oschina.net/u/1384842/blog/308950

你可能感兴趣的文章
Android ADB server didn't ACK * failed to start daemon * 简单有效的解决方案
查看>>
Olap学习笔记
查看>>
Codeforces Round #431 (Div. 1)
查看>>
如何进行数组去重
查看>>
将标题空格替换为 '_' , 并自动复制到剪切板上
查看>>
List Collections sort
查看>>
Mysql -- You can't specify target table 'address' for update in FROM clause
查看>>
使用局部标准差实现图像的局部对比度增强算法。
查看>>
2017-2018-1 20165313 《信息安全系统设计基础》第八周学习总结
查看>>
《代码敲不队》第四次作业:项目需求调研与分析
查看>>
菜鸡互啄队—— 团队合作
查看>>
HttpWebRequest的GetResponse或GetRequestStream偶尔超时 + 总结各种超时死掉的可能和相应的解决办法...
查看>>
SparseArray
查看>>
第二章
查看>>
android背景选择器selector用法汇总
查看>>
[转]Paul Adams:为社交设计
查看>>
showdialog弹出窗口刷新问题
查看>>
java
查看>>
Vue.js连接后台数据jsp页面  ̄▽ ̄
查看>>
关于程序的单元测试
查看>>