C++中的auto推导规则

本文介绍了C++中auto的推导规则,包括:1) 左右推导;2) auto声明拷贝特性,auto&&保持引用及cv限定符;3) auto&仅限左值引用;4) 列表初始化的特例;5) auto能推断指针类型。理解这些规则对于有效使用auto关键字至关重要。
摘要由CSDN通过智能技术生成

         C++需要了解auto的推导规则才能对auto进行正确的使用!!!

        以下是对auto规则的一些总结:

                1、auto声明多个变量从左向右推导,并且从右向左推导具有相同结果

                2、auto声明优先拷贝,auto&&优先采用引用并且保留cv操作符限定符

                                       (ps:int&&,char&&是右值引用)

                3、auto&只能进行左值引用

                

                4、 直接使用列表初始化,列表中必须为单元素x = {1}

                       用等号加列表初始化,列表中可以包含单个或者多个元素,auto类型被推导为    std::initializer_list<T>

                

                5、auto能推断出int *等指针类型

                           注:auto*只能推断指针变量,否则失败

以下是一些应用

#include <iostream>

void f(auto j){ //函数是可以推断出auto类型的,编译成功
    std::cout<<sizeof(j)<<'\n';
    return ;
}

class Ba
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值