自动获取类型的auto和decltype类型说明符
来源:互联网 发布:手机淘宝社区首页 编辑:程序博客网 时间:2024/04/30 04:37
auto: 让编译器通过初始值来推算变量的类型,要求auto定义的变量必须有初始值。
使用auto可以在一条语句中声明多个变量,但必须是同一数据类型的
auto i = 0, *p = &i ; // i是整数、p是整型指针
auto m = 0, n = 3.14 ; // 不能这样定义,m和n数据类型不一致
int i = 0 ;
const int ci = i ;
auto &n = i, *p = &ci ; // 错误:i 的类型是 int 而 ci 的类型是 const int
auto一般忽略顶层const(指针本身是一个常量,而底层const表示指针所指的对象是一个常量)
int i = 0 ;
const int ci = i ;
auto b = ci ; // b是 int 类型 而不是 const int 类型
const auto d = ci ; // 此时d的类型是 const int 类型
decltype: 从表达式的类型推断出要定义的变量的类型。
选择并返回操作数的数据类型,编译器分析表达式并得到它的类型,却不实际计算表达式的值:
decltype ( f() ) sum = x ; // sum的类型就是函数 f 的返回类型,但编译器并不实际调用函数 f
decltype返回变量的类型包括顶层const 和引用
const int ci = 0, &cj = ci ;
decltype(ci) x = 0 ; // x的类型是 const int
decltype(cj) y = x; // y的类型是 const int& , y 是x 的别名
decltype(cj) z ; // 错误:z 是一个引用,必须初始化
切记:decltype((variable)) (双层括号)的结果永远是引用,而decltype(variable)结果只有当variable本身是引用是才是引用。
- 自动获取类型的auto和decltype类型说明符
- 类型别名、auto类型说明符和decltype类型说明符初探
- C++11:"auto"和"decltype"类型说明符的思考
- 类型别名+auto类型说明符+decltype类型说明符
- 类型别名,auto类型说明符,decltype类型指示符
- c++11之auto自动类型推断和decltype类型获取
- c++基础--auto类型说明符/decltype类型指示符
- C++ decltype类型说明符
- C++ decltype类型说明符
- C++ 11 学习1:类型自动推导 auto和decltype
- auto类型说明符
- [C++] auto类型说明符
- auto类型说明符
- auto类型说明符
- C++ auto类型说明符
- auto类型说明符
- auto类型说明符
- c++ auto类型说明符
- html5自定义属性data-*
- JQuery实现页面倒计时并刷新
- SQL-CHECK约束的用法
- Android安装
- 解决问题:Qt5 OpenCV “uring startup program exited with code 0xc0000135” “ exited with code -1073741515”
- 自动获取类型的auto和decltype类型说明符
- CCF-CSP 201409-4 最优配餐(BFS)
- Java提高篇(三四)-----fail-fast机制
- SetContentView都做了什么
- Netty权威指南 第2版学习笔记11——实现WebSocket
- 多线程入门
- Android模拟登陆校园教务系统
- 兰顿蚂蚁
- 文章标题