关于C++11的关键字auto的理解

auto类型,主要用于自动类型的推导。

在我们的程序中使用该关键字,编译器会在编译阶段自动推导该变量的类型。

auto的主要作用体现在c++的泛型编程

即当我们不知道变量是什么类型或者我们不希望指定具体类型的时候使用它。

eg:auto path="C:\\Program Files";           ----auto就是string类型

注:在我们使用auto关键字时,我们必须立即初始化

eg:   int  n=10;

        auto *p=&n;                                         ----auto是int类型

注:当右边表达式为引用类型时,auto会抛弃引用,得到原始的数据类型

eg: //定义一个map容器

        Map<qint64, QProcess*>    map_test;

        //使用迭代器进行查询

        for (auto iter = map_test.begin(); iter != map_test.end(); ++iter)

        {

                XXX;

        }
   注:在for循环中,++i和i++都是在等代码块执行完以后才执行的,但是++i的性能更好,尤其是在我们使用迭代器的时候。省去了对内存的操作,提高了性能。

eg:auto str[]=url;                 ----auto不能定义数组,这种写法是错误

当auto与const相结合

当等号右边有const属性的时候,const属性将会被抛弃 

如果const和引用相结合,那么将会保留const类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值