一聚教程网:一个值得你收藏的教程网站

最新下载

C++11关于auto关键字的使用示例

时间:2018-12-24 09:43:26 编辑:猪哥 来源:转载

一.概述

auto关键字在c++98中已经出现,在98中定义为具有自动存储器的局部变量,

c++11中标准委员会重新定义了auto关键字,表示一个类型占位符,告诉编译器,auto声明变量的类型必须由编译器在编译时期推导
而得。

注意事项:

1.auto关键字类型推断发生在编译期,程序运行时不会造成效率降低

2.auto关键字定义时就需要初始化

3.auto仅仅是一个占位符,它并不是一个真正的类型, 因此sizeof(auto)是错误的

4.auto不能作为函数的参数

5.auto不能定义数组,如auto a[3] = {1,2,3}; 错误

二.使用

1.自动推导变量类型

 auto a = 1;
 auto b = 2LL;
 auto c = 1.0f;
 auto d = "woniu201";
 printf("%s\n", typeid(a).name());
 printf("%s\n", typeid(b).name());
 printf("%s\n", typeid(c).name());
 printf("%s\n", typeid(d).name());

2.简化代码

 //在对一个vector容器遍历的时候,传统的方法如下:
 vector v;
 for (vector::iterator it = v.begin(); it != v.end(); it++)
 {
 printf("%d ", *it);
 }
 //使用auto关键字,简化后的方法如下:
 for (auto it = v.begin(); it != v.end(); it++)
 {
 printf("\n%d ", *it);
 }
 //auto关键字的存在使得使用STL更加容易,代码更加清晰。

文章评论

热门栏目

马会一码爆料 泰来县| 互助| 阿拉善盟| 桓仁| 菏泽市| 平乐县| 宜城市| 神农架林区| 阳山县| 邵阳市| 昌吉市| 柘荣县| 宁乡县| 陆河县| 临漳县| 红安县| 扶沟县| 渝中区| 锦屏县| 随州市| 昌图县| 宁夏| 定州市| 肃北| 新源县| 滨州市| http://www.ccnrhj.cn 广饶县| 巫山县| 克东县| 柘荣县| 乌兰县| 重庆市| 姚安县| 保康县| 绥阳县| 大新县| 繁昌县| 锡林浩特市| 宁陕县| 嘉荫县| 潜山县| 苍梧县| 江城| 玉龙| 齐齐哈尔市| 兴海县| 五莲县| 马山县| 北流市| 雅安市| 浦城县| 奉新县| 章丘市| 集贤县| 巴青县| http://www.cflswb.cn 镇雄县| 固镇县| 达尔| 历史| 芜湖市| 新沂市| 山丹县| 开远市| 伊宁市| 泸溪县| 平南县| 郯城县| 繁峙县| 华阴市| 通城县| 阿鲁科尔沁旗| 曲麻莱县| 中阳县| 东方市| 林口县| 孝昌县| 汉源县| 财经| 三穗县| 都兰县| 武功县| 余庆县| 沙田区| 迭部县| 滦南县| 日土县| 孝感市| 通辽市| 义马市| http://mzrfgr.cn 易门县| 上栗县| 婺源县| 平武县| 申扎县| 图木舒克市| 通化县| 五家渠市| 镇康县| 阳信县| 稷山县| 万荣县| 环江| 金门县| 蒲城县| 潢川县| 子长县| 靖远县| 安平县| 德惠市| 克山县| 淮阳县| 卫辉市| 西峡县| 信阳市| 阳泉市| 清河县| 铜川市| 田林县| http://www.gstyyi.cn 九江市| 诏安县| 南川市| 遂平县| 城固县| 平和县| 松滋市| 威远县| 大关县| 靖边县| 永州市| 根河市| 罗平县| 洛宁县| 长阳| 靖江市| 辽源市| 留坝县| 牡丹江市| 安塞县| 枣庄市| 榆中县| 万源市| 绥德县| 彭水| 甘谷县| 麦盖提县| 年辖:市辖区| 阿拉善右旗| http://www.hokskk.cn 张家港市| 普陀区| 宜黄县| 铜山县| 大厂| 陵川县| 诸城市| 湟中县| 黑龙江省| 申扎县| 伊宁县| 蓝田县| 和政县| 永德县| 香港| 龙南县| 宁陵县| 房产| 田东县| 阳高县| 乌兰察布市| 永清县| 乐山市| 南华县| 寿阳县| 徐州市| 鹤岗市| 景德镇市| http://dptxac.cn 聊城市| 张家川| 桑日县| 天水市| 密云县| 青冈县| 西藏| 依兰县| 白河县| 陆河县| 酒泉市| 缙云县| 理塘县| 都兰县| 涪陵区| 夏邑县| 和林格尔县|