C++学习笔记(五):auto和decltype两个比较神奇的定义变量方法
来源:互联网 发布:制作图片的软件 编辑:程序博客网 时间:2024/05/12 02:30
auto类型说明符:
在编程经常需要把表达式或者某个值赋给变量,但是这要求程序员清楚的知道这个表达式或值的类型。
但是,有时候并不明确的清楚类型,那此时该怎么办呢?比如我要把变量1和变量2的值之和赋值给一个新
的变量3,但是我却不清楚这三个变量的类型,此时就可以使用auto类型说明符,例:
auto value3 = value1 + value2;
此处编译器会根据value1 和value2相加的结果来推断item的类型。如果value1、2是int型,那么
value3就会是int型。auto是C++11标准引入的一种类型说明符,即让编译器通过变量的初始值来判断
变量的类型。由此可看出,auto定义的变量必须有初始值。
auto也能在一条语句中声明多个变量。但是因为一条语句只能有一个基本的数据类型,故此语句中
的所有变量的初始化数据必须是一样的类型的。例:
auto a = 0, b = 2; // 正确,都是整型 auto a = 0, b = 2.0; //错误,类型不一致
decltype类型说明符
前面的auto类型说明符能够让编译器根据表达式的值,来推断变量类型。但如果希望从表达式的类
型的值推断要定义的变量类型,但是不想用该表达式的值初始化变量。对于这中情况,C++11标准也给
出了decltype这种类型说明符。例:
decltype(fuction()) value = x;
上式中的value类型就是函数function的返回类型。Decltype的作用是选择并返回操作数的数据类型。编译器分析表达式并得到它的类型,但是却不实际计算表达式的值。即编译器并不实际调用函数function,而是假设函数被被调用,得到其返回值类型。
0 0
- C++学习笔记(五):auto和decltype两个比较神奇的定义变量方法
- C++Primer学习之三auto和decltype
- auto 和 decltype的区别
- C++11学习笔记3---auto&decltype
- C语言11中的auto和decltype
- C++11学习:auto和decltype
- 学习使用auto定义变量的用法
- C++11的auto和decltype关键字
- C++之decltype和auto的用法
- auto和decltype的用法总结
- C++11的auto和decltype关键字
- C++Primer第五版【学习笔记】——auto,decltype【C++11】
- auto和decltype
- 关于auto和decltype
- auto和decltype
- auto和decltype
- C++ auto和decltype
- auto和decltype
- 二进制trie树解异或最大值问题
- Linux内核设计与实现 学习笔记(9)可移植性
- Android HAL实例解析
- apache common configuration
- git push 输入用户名和密码的问题解决
- C++学习笔记(五):auto和decltype两个比较神奇的定义变量方法
- 版本管理工具(Git)
- Linux内核设计与实现 学习笔记(8)内核调试
- Linux内核设计与实现 学习笔记(10)补丁,开发和社区
- comonIO
- 我想要这样生活 焦禹禹
- 几种LDO带载能力测试
- NAS DIY(3)如何导出nfs给vdsm
- IOS appstore 发布