C++ Primer笔记(一)
2017-01-08 20:30
190 查看
变量和基本类型
1、在算数表达式中不要使用char或bool,只有在存放字符或布尔值时才使用它们,因为类型char在一些机器上是有符号的,而在一些机器上是无符号的,所以如果要使用char进行运算特别容易出错。如果你需要使用一个不大的整数,那么明确指出它的类型是signed char或者unsigned char。2、执行浮点数运算选用double,这是因为float通常精度不够而且双精度浮点数和单精度浮点数的计算代价相差不大。事实上,对于某些机器来说,双精度运算甚至比单精度还快。
3、当我们赋给无符号类型一个超出它表示范围的值时,值会溢出。
4、当我们赋给带符号类型一个超出它表示范围的值时,结果是未定义。
5、如果表达式里既有带符号类型又有无符号类型,当带符号类型取值为负时会出现异常结果,这是因为带符号数会自动地转化为无符号数。
6、列表初始化且初始值存在信息丢失的风险时,编译器报错
long double ld = 3.1415926536; int a{ld}; //错误,因为存在丢失信息的风险 int b = ld; //正确,转换执行,且确实丢失了部分值
7、指向指针的引用:引用本身不是一个对象,因此不能定义指向引用的指针,但指针是对象,所以存在对指针的引用;
int i = 42; int *p; int *&r = p; r = &i; *r = 0;
8、要理解r的类型是什么,最简单的方法就是从右往左阅读r的定义,离变量名最近的符号(此例中是&r的符号&)对变量的类型又最直接的影响。声明符的其余部分用以确定r的引用类型是什么。
9、指针是对象而引用不是
10、C++11新标准规定,允许将变量声明为constexpr类型以便由编译器来验证变量的值是否是一个常量表达式,声明为constexpr的变量一定是一个常量,而且必须用常量表达式初始化。在constexpr声明中如果定义了一个指针,限定符constexpr仅对指针有效,与指针所指的对象无关。
11、别名声明using
using SI = Sale_Item;
相关文章推荐
- MainWindow.cpp
- C++虚函数表
- C++第十天 2016-12-09 3.6-4.1
- C++第九天 2016-12-08 3.5-3.6
- C++第七天 2016-12-06 3.4-3.5
- C++第五天 2016-12-04 3.1-3.2
- C++第四天 2016-12-03 2.4-2.6
- C++第二天 2016-12-01 1.2-2.3
- C++第一天 2016-11-30 1-1.2
- 初步认识c++
- C++(24):STL初步之stack、queue
- 设计模式C++版:第十二式桥接模式
- 学习C++的第四天
- c语言学习笔记(标准文件io)
- C++初始化列表详解
- bmp转jpeg文件
- C++学习感悟——基本数据篇(1)
- 去掉txt文件中每一行字符串内容的第一个空格
- 蓝桥杯题——BEGIN-2 序列求和 BEGIN-3 圆的面积 BEGIN-4 Fibonacci数列 C语言+Java
- PAT 乙级 1059. C语言竞赛(20)