C++基础学习之5 - 认识C11新特征

        C++11可以说是一个里程碑,针对C++本身的诸多问题,提供了优秀的思路和解决方案,作者从其中的几个点来介绍下C++11的几个典型特征。
        概括新特性包括:auto类型推断、右值引用、智能指针、lambda表达式,另外还有 类型初始化列表、decltype、模板改进等,不在本节讨论范围内,感兴趣的同学请自行搜索。

一. Auto类型推断
        在C++11之前,与其他动态语言不同,C++的类型必须是提前确定的,引入auto定义变量类型,与动态语言的区别在于能够在编译阶段确定变量类型,而不会影响运行速度。
auto i;                /**< 错误*/
auto j=1;              /**< int*/
auto k=1.0f;           /**< float*/
auto strName="linol";  /**< string*/
        可以看到,auto必须通过类型赋值,才能够确定,因此,不能仅通过变量声明来进行初始化(上面第一行)。

二. 右值引用
        先说左值 和右值 的概念,左值(lvalue)是指正常的程序变量,因为能够出现在左边(能够被赋值)而得名,而右值(rvalue)通常是指临时变量,无法放在左边进行赋值,这里的临时变
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值