C++ auto自动类型推导规则和使用详解_C 语言

本文介绍了C++中auto关键字的自动类型推导规则,包括不推断引用、忽略值类型const、保留引用的const等,并列举了实际的推导例子。同时阐述了auto的适用时机,如简化容器迭代器遍历、泛型函数编写及函数返回值类型的后置声明,展示了auto如何提升代码的简洁性和可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

  • 一.auto推导规则4点
  • 二.auto的使用时机

一.auto推导规则4点

(1) 引用不是类型,因此auto不能推断出引用

int a = 1;
int& b = a;// b-> int&  用->表示推导出类型,下同
auto c = b;// c->int  

(2)auto 在推断引用的类型时,会直接将引用替换为引用指向的对象。

引用不是对象,任何引用的地方都可以直接替换为引用指向的对象。

int a = 10;
const int& b = a ;// b-> const int&
auto c = b;  //  c-> int 
//相当于 auto c = a; 

由于在传递值时,修改这个值不会对原有的数据造成影响,而传递引用时,修改这个值会对修改原有的数据。

(3)auto 关键字推断类型时,如果没有引用符号,那么会忽略值类型的const修饰,而保留修饰指向对象的const

const int i =1;
auto j = i;//j-> int
int a ;
const int* c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shengyin714959

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值