auto和decltype
来源:互联网 发布:智慧环保大数据平台 编辑:程序博客网 时间:2024/05/06 03:38
auto先计算出表达式,再根据表达式的结果来推断类型。
auto会忽略掉直接修饰变量的const,但会保留指针指向变量的const。
int i=0;const int ci=i, &cr = ci;auto b=ci;//intauto c=cr;//intauto d=&i;//int*auto e=&ci;//const int*const auto f=ci;//const intconst auto g=&ci;//const int * constauto &e=ci;
参数传递有两种,值传递和引用传递,指针传递也是值传递。指针可以看做一种稍微特殊的数据类型,是一种整形,存储的是内存地址。
所以,auto可以包含指针,但不能包含引用,不包含直接修饰变量的const。
decltype使用的表达式是一个变量,则decltype返回该变量的类型,包括直接修饰变量的const和引用。
const int ci=0, &cj=ci;decltype(ci) x=0;//x与ci的类型完全相同decltype(cj) y=x;//const int &
引用从来都是作为其所指对象的同义词出现,只有用在decltype处是一个例外。
如果decltype使用的表达式不是一个变量,则返回表达式结果对应的类型。
如果表达式的内容是解引用操作,则decltype将得到引用类型。
decltype((variable))的结果永远是引用,而decltype(variable)的结果只有当variable本身就是一个应用时才是引用。
因为变量加上括号,编译器会把它当成是一个表达式。
如果表达式可以作为左值,产生的就是引用。
0 0
- auto和decltype
- 关于auto和decltype
- auto和decltype
- auto和decltype
- C++ auto和decltype
- auto和decltype
- C++14尝鲜:decltype 和 decltype(auto)
- C++11 auto 和decltype
- C++11 auto 和 decltype
- auto 和 decltype的区别
- C++11 decltype 和auto
- C++ auto和decltype浅析
- C++ 0x 之 decltype 和 auto
- C++11学习:auto和decltype
- C语言11中的auto和decltype
- C++11的auto和decltype关键字
- C++11 auto和decltype推导规则
- C++之decltype和auto的用法
- POJ 3592 Instantaneous Transference 缩点 拓扑图DP
- Saving HDU
- NSMutableAttributedString
- POJ 2728 (最优比率生成树+二分或者迭代)
- Xcode 6.1 做ipa企业级分发(In-House模式)详细步骤
- auto和decltype
- IOS-获取设备和app基本信息
- C++基础::typeid、type_info
- 尾递归
- StartSSL免费SSL证书成功申请-HTTPS让访问网站更安全
- AlphaGo 开源项目研究(1)
- 安卓学习之获取QQ登录账户和密码并发送短信
- 写了一个将数据分片的工具,还请大神指正问题(目前只支持list,没搞太复杂)
- T-TPOJ3083