C++入门经典 笔记 (第二十一章)使用C++0x新增的功能
来源:互联网 发布:英国手机网络制式 编辑:程序博客网 时间:2024/06/04 00:26
空指针常量
在前面第十章有讲到,使用指针时一定要给它赋值,这很重要,因为未初始化的指针可能指向内存的任何位置,这称为野指针。为了避免这种危险,创建时应将空值(0或NULL)赋给指针。如:int *pBuffer = 0; int *pBuffer = NULL;这两条语句等效。NULL是一个预处理器宏,会被转换为0(整型)或0L(长整型)。C++0x新增表示空指针的关键字nullptr,如:int *pBuffer = nullptr;nullptr不会隐式地转换为整数,但可能隐式地转换为布尔值。当隐式转换为布尔值时,nullptr将被转换为false。
编译阶段常量表达式
C++0x新增的常量表达式,是使用关键字constexpr实现的:constexpr int getCentury()
{
return 100;
}常量表达式的返回值不能为void,并且包含代码return expression。返回的表达式只能包含字面值、对其他常量表达式的调用或被声明为constexpr的变量。如:定义一个constexpr变量:const int century = 100;
constexpr year = 2011 + century;
自动确定类型的变量
C++0x新增了关键字auto,让编译器根据首次赋给变量的值来确定其类型。如:
auto index = 3;
auto gpa = 2.25F;
auto rato = 500/3.0;
它也适用于函数的返回值,如:auto score = calculateScore();变量score的数据类型将为函数的返回类型。
关键字auto用于定义类或结构的成员变量,除非它是静态成员。也可以用一个auto关键字定义多个变量,条件是这些变量的数据类型要相同。
但是它也有一些限制,不能使用auto来声明数组的类型,也不能将其作为函数参数或函数的返回值类型。
- C++入门经典 笔记 (第二十一章)使用C++0x新增的功能
- (福利)”C++Primer笔记“和”Java经典入门笔记“
- 第二十一章,析构函数初探(C++)
- C经典 使用递归求x的y次方
- C 1X 新增特性
- objective-c第二十一章课后练习题
- 算法竞赛入门经典-学习笔记1(c语言)
- C#(1)经典入门
- SQL必知必会 笔记 第二十一章 使用游标
- C与C++比较新增功能大全(完善中)
- 在公司已有的成熟产品(C/S)中新增功能的心得
- DataGrid入门经典(C#)
- C语言入门经典
- 第二十一章 SRPM 的使用 : rpmbuild
- 《C语言入门经典》读后感(一)
- c 里的指针,摘自C语言入门经典
- 《C#Web应用程序入门经典》学习笔记之一
- 《C#Web应用程序入门经典》学习笔记之二
- MSComm控件的使用方法
- Regionals 2014 Asia Xian(几道简单题)
- 递归与循环
- 欧拉函数(例:HDU1286 找新朋友)
- iOS
- C++入门经典 笔记 (第二十一章)使用C++0x新增的功能
- 求出栈中最小元素
- iOS——UISlider的使用方法详细
- Android学习0906<十一>(ViewPager,fragment碎片)
- 工厂模式
- PADS第25层的故事
- HDU 5113 Black And White(DFS)
- 黑马程序员之IO字节流及缓冲技术
- xml属性