1.auto

1)auto是一个类型说明符(类型说明符就是像int、double这样的),用来定义一个变量,它可以让编译器去分析表达式的类型,并使用该表达式的值去初始化变量  

//auto定义的变量必须有初始值
int v1 = , v2 = ;
auto item = v1 + v2;//编译器根据v1和v2相加的结果推断item的类型,并完成对item的初始化

2.dectype

1)dectype也是一个类型说明符,但它只让编译器去分析表达式的类型,并不用该表达式的值去初始化变量

int cj = ;
decltype(cj) x = ;
decltype(cj) y;

2)当decltype的右边是一个计算表达式,如果它的结果是左值,则将得到的是一个引用,如:解引用符*、函数调用运算符()

int i = ;
int* p = &i;
decltype(*p) c;//错误!!!解引用符返回左值,所以c是int&,必须初始化
decltype((i)) d;//错误!!!函数调用运算符返回左值,所以d是int&,必须初始化

3)decltype还可以作用于某个函数时,返回的是函数类型

int add(int a, int b)
{
return a + b;
} int jian(int a, int b)
{
return a - b;
} int main()
{
function<decltype(add)> f1=jian;
cout << f1(,) << endl; //输出:7 return ;
}

最新文章

  1. 【实战Java高并发程序设计 1】Java中的指针:Unsafe类
  2. 11.ok6410之led驱动程序编写
  3. Java程序员必须知道的10个调试技巧
  4. [转]Linux下的暴力密码破解工具Hydra详解
  5. Visual Studio安装过程
  6. PHP.5-DIV+CSS布局网站首页实例
  7. sys.stdout 重定向
  8. 南阳理工ACM-OJ 分数加减法 最大公约数的使用
  9. 修改过mysql数据库字段内容默认值为当前时间
  10. input里面check 状态检测
  11. zepto animate
  12. Spring:Bean生命周期
  13. deplyed使用归纳(转自月下独奏)
  14. 防XSS攻击解决方法
  15. debugfs
  16. Go 环境配置
  17. DOS特殊字符转义方法
  18. 2019-01-13 [日常]mov文件转换为gif
  19. 洛谷-p2764(最小路径覆盖)(网络流24题)
  20. Alpha阶段敏捷冲刺日志的集合贴

热门文章

  1. 问题1:鼠标指向导航栏li,但li中a样式未改变
  2. 【Android端】代码打包成jar包/aar形式
  3. 【zipkin】链路追踪
  4. Unicode编码字符范围和具体文字
  5. mysql定时删除6个月前的表
  6. dUMP:A new value is to be assigned to the field &quot;&lt;L_BOX&gt;&quot;
  7. for循环中的 break和continue的区别
  8. 9.10 h5日记
  9. BZOJ1925或洛谷2467 [SDOI2010]地精部落
  10. Eclipse快速生成覆盖方法、Getter、Setter的方法