C++11 新增关键字decltype学习
decltype 是 C++11 新增的一个关键字,它和 auto 的功能一样,都用来在编译时期进行自动类型推导。
decltype 是“declare type”的缩写,译为“声明类型”。
auto 并不适用于所有的自动类型推导场景, decltype 关键字也被引入到 C++11 中。
auto 和 decltype 用法:
auto varname = value;
decltype(exp) varname = value;
其中,varname 表示变量名,value 表示赋给变量的值,exp 表示一个表达式。
auto 根据=右边的初始值 value 推导出变量的类型,而 decltype 根据 exp 表达式推导出变量的类型,跟=右边的 value 没有关系。
另外,auto 要求变量必须初始化,而 decltype 不要求。
原则上讲,exp 就是一个普通的表达式,它可以是任意复杂的形式,但是我们必须要保证 exp 的结果是有类型的,不能是 void;
#include <iostream>using namespace std;int main()
{int a = 0;decltype(a) b = 1; //b 被推导成了 intdecltype(10.8) x = 5.5; //x 被推导成了 doubledecltype(x + 100) y; //y 被推导成了 doublecout << a << endl;cout << b << endl;cout << x << endl;cout << y << endl;getchar();return 0;
}
先设置Dev C++支持C++11;
运行如下;
看一下Dev C++,自带的编译器是GCC;也可以添加其他C++编译器;
C++11 新增关键字decltype学习相关推荐
- 【C++】C++11新增关键字详解
目录 一.auto 1.auto 用来声明自动变量,表明变量存储在栈(C++11之前) 2.auto用于推断变量类型示例(C++11) 3.声明或定义函数时作为函数返回值的占位符,此时需要与关键字 d ...
- C++11新增的关键字decltype(auto)
一.函数模板存在的类型问题 template<class T1,class T2> void fun(T1 a, T2 b) {(T1 or T2?)y = a + b; } 语句y = ...
- C++11 新关键字
文章目录 1.auto 1.1 用法示例 2.using 3.decltype 3.1 decltype 推导规则 3.2 用法示例 4.nullptr_t 与 nullptr 5.constexpr ...
- C++ 11 nullptr关键字
C++ 11 nullptr关键字 转载:https://www.cnblogs.com/DswCnblog/p/5629073.html 熟悉C++的童鞋都知道,为了避免"野指针" ...
- C++11之后的decltype类型指示符
C++11之后的decltype类型指示符 一.什么是decltype类型指示符 二.typeid运算符 三.使用decltype指示符 四.decltype和引用 五.decltype(auto) ...
- 1-1 机器学习和深度学习综述-paddle
课程>我的课程>百度架构师手把手教深度学习>1-1 机器学习和深度学习综述> 1-1 机器学习和深度学习综述 paddle初级课程 王然(学生) Notebook 教育 初级深 ...
- 《强化学习周刊》第11期:强化学习应用之模拟到真实
No.11 智源社区 强化学习组 强 化 学 习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,它在模拟到真实领域中的应用研究进展与成果也引发了众多关注.为帮助研究与工程人 ...
- C++11新特性decltype
该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处 本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105042574 C ...
- 《西瓜书》-11.特征选择与稀疏学习
11.特征选择与稀疏学习 11.1.子集搜索与评价 处理高维数据的两大主流技术:降维与特征选择. 降维从一定程度起到了提炼优质低维属性和降噪的效果,特征选择则是直接剔除那些与学习任务无关的属性而选择出 ...
最新文章
- Awk 实战详解教程
- 边缘计算 — 与车联网
- 排序算法之递归算法(归并排序)
- android flux 与mvp,使用 MVP 时在设计上的考量
- 服务化改造实践 | 如何在 Dubbo 中支持 REST 1
- YouTube深度学习推荐系统的十大工程问题
- Python与机器视觉(一)安装与环境
- MARKDOWN使用小计
- PHP重置static静态变量
- 非线性激活函数的作用
- 多个excel工作簿合并_EXCEL多表、多工作簿合并拆分,随心所欲(完善版)
- win10休眠_Win10关机后一动键盘就开机怎么解决
- 网页设计作业-HTML5+CSS大作业——端午节日(25页) 图片滚动
- 三菱fx5u modbus tcp fb块用法_FX5U强势来袭
- IT资讯精选(2022-09-11)
- GShutDown:自动化关机鄙吝材
- python telnet登录OLT查询
- SATA协议固态硬盘的S.M.A.R.T详解
- Multiplayer Moo[ [ 并查集+dfs连通块 ] / [ dfs ] ]
- 前端入门技术书籍推荐:JavaScript高级程序设计等,吐血整理!
热门文章
- Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过Apache十倍的Web服务器(第6版)
- 硬盘安装Windows 7和Ubuntu 10.04双系统
- Set Up a Mobile Worker
- 国产化达梦数据库数据迁移文档:oracle11g数据库转达梦8数据库实例演示
- Node.js 安装报错提示“The error code is 2503“问题解决方法
- Windows 技术篇 - 电脑秒速关机设置方法,注册表修改3个缓冲等待时间
- 概率论与数理统计(二)
- 第7周实践项目2 队列的链式存储结构及其基本运算的实现
- 可简单图化算法(Havel算法)
- JavaScript代理模式