C++-auto

auto原理

auto的原理就是根据后面的值,来自己推测前面的类型是什么。

auto的作用域

auto变量在离开作用域是会变程序自动释放,不会发生内存溢出情况(除了包含指针的类)。使用auto变量的优势是不需要考虑去变量是否被释放,比较安全。

for(auto i : v)

博客

auto限制

1.用auto声明的变量必须初始化
如果不初始化就会报错
在这里插入图片描述
2.定义在一个auto序列的变量必须始终推导成同一类型

auto x1 = 5, x2 = 5.0, x3 = 'r';//会直接报错

decltype

decltype 和auto的区别在于
auto 根据 = 右边的初始值 val1 + val2 推导出变量的类型,并将该初始值赋值给变量 var;decltype 根据 val1 + val2 表达式推导出变量的类型,变量的初始值和与表达式的值无关。

        int val1 = 1;
        float val2 = 2;
        auto var = val1 + val2;
        decltype(val1 + val2) x = 0;
        cout << var<<endl;//3
        cout << x;//0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值