C++ Primer 读书笔记——变量和基本类型
2017-08-17 15:55
225 查看
C++ Primer 读书笔记1
关键概念
使用文件重定向——P19C++是一种静态类型语言——P42
void* 指针——P50
临时量对象指编译器需要一个空间来暂存表达式的结果时临时创建的一个未命名的对象。
顶层底层const——P57/58
类型别名(typedef)——P60
decltype类型指示符:选择并返回操作数的数据类型。——P62
decltype(f()) sum=x;
头文件保护符——P68
易误导知识点
变量初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,用一个新值代替。——P43.如果内置类型的变量未被显示初始化,他的值由定义的位置决定。定义于任何函数体之外的变量被初始化为0.一种例外:定义在函数体内部的内置类型变量不被初始化。一个未被初始化的内置类型变量的值是未定义的,如果试图拷贝或以其他形式访问此类型值将引发错误——P40。
如果想声明一个变量而不是定义它,在变量前添加关键字extern 不要显示地初始化否则无效。——P41
变量只能被定义一次但是可以被多次声明。——P41
引用本身不是一个对象,所以不能定义引用的引用。——P46
默认状态下,const对象仅在文件内有效。如果在const变量定义前添加extern关键字,该常量就可以被其他文件访问。——P54
”对const的引用“就是“常量引用”,对const的引用可能应用一个非const对象,但是不能通过常量引用改变其值可以通过其他途径改变他的值。——55
常量表达式是在编译过程就能得到计算结果的表达式。constexpr可以声明一个常量表达式。——P59
函数体内定义的变量一般来说并非存放在固定地址中,因此constexpr指针不能指向这样的变量。——P59
const int *p=nullptr; //P是一个指向整形常量的指针。
constexpr int *q=nullptr; //q是一个指向整数的常量指针。
——P60
typedef double wages;
using wages=double;
这两个等价(第二个是C++11增加的新标准)——P60
auto定义的变量必须有初始值——P61
auto会忽略顶层const保留底层const——P62
decltype((variable))注意是双层括号的结果永远是一个引用,而decltype(variable)结果只有当variable本身是一个引用时才是引用。——P63
相关文章推荐
- 《C++ Primer》读书笔记(二)-变量和基本类型
- C++ primer 读书笔记(第2章)变量和基本类型
- 《C++ Primer》读书笔记第二章-1-基本内置类型 And 变量
- 《C++ Primer》读书笔记-第二章 变量和基本类型
- C++ Primer 读书笔记 第2章 变量和基本类型
- 《C++ Primer》读书笔记第2章:变量与基本类型
- C++ Primer 读书笔记 变量和基本类型
- C++ Primer 第四版读书笔记(一)之变量和基本类型
- c++ primer 第2章 变量和基本类型
- C++ Primer 第二章 变量和基本类型 笔记
- c++ primer 2 变量和基本类型
- C++ Primer 第二章 变量和基本类型
- c++ primer 5 第2章 变量和基本类型
- C++ Primer 第二章 变量和基本类型
- C++ Primer复习和学习笔记 第二章 变量和基本类型
- 代码大全第二版读书笔记 第三部分-变量 十二、基本数据类型 十三、不常见的数据类型
- C++ Primer 学习笔记(第二章:变量和基本类型)
- 《C++ Primer》学习笔记---第2章 变量和基本类型
- C++ Primer 第二章 变量和基本类型 笔记
- 我读C++ Primer - 基本类型与变量