C++入门(3)

本文介绍了C++11中的新特性,包括auto关键字的使用,如简化复杂类型声明,以及其不能推导的场景。同时,讲解了基于范围的for循环的语法和工作原理,以及如何通过引用在循环中修改数组元素。最后,讨论了指针空值nullptr的引入及其优于NULL的地方。
摘要由CSDN通过智能技术生成

目录

8. auto关键字

8.1 auto简介

8.2 auto的使用细节

8.3 auto不能推导的场景

9. 基于范围的for循环

9.1  范围for循环的语法

10. 指针空值nullptr

10.1 C++中的指针空值


8. auto关键字

8.1 auto简介

在C++11之前的版本中,对于auto的概念仅仅只有被auto修饰的变量,是具有自动存储器的局部变量。

在C++11版本中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。

这是什么意思呢?

我们可以看见b的类型最终转变成了int。

当auto定义的变量没有初始化时,则会对其报错,是因为在编译阶段编译器需要根据初始化表达式来推导auto的实际类型。因此auto并非是一种“类型”的声明,而是一个类型声明时的“占位符”,编译器在编译期会将auto替换为变量实际的类型。

对于auto我们可以认为它可以帮助我们在定义变量时不需要写一些比较复杂的类型名,通过auto来直接替换

8.2 auto的使用细节

 1. auto对于指针和引用结合使用

 我们可以看见当右值是指针时,auto和auto*没有任何区别,但auto要声明引用时必须加上&,否则会认为是一个简单的替换实际类型。

2. auto定义一行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值