拿起《C++ Primer》打算重温下C++,感觉自己大二时学的c++基础还是可以,但那些基础只是c++的皮毛,一直感觉没有领悟到c++的精髓。下面会边读边记录我觉得要特别注意或者是我已经不太熟悉的知识点,写读书笔记主要是为了让自己感觉到一本书没有白读,也为了以后的温习。
第1章 开始
1.读取数量不定的输入数据:while(cin>>value)。
2.编译器无法检查逻辑错误,可以发现语法错误,类型赋值错误,未声明错误等。
第一部分 C++基础
第2章 变量和基本类型
1. 算数类型:(至少) char:1个字节; short:2个字节; int:2个字节;long:4个字节;long long:8个字节;float:6位有效数字;double:10位有效数字; 1个字=4个字节。
2.类型转换:unsigned char c = -1 //假设char占8位(0-255),c的值是255; signed char c2=256 //假设char占8位,c2的值是未定义的。总结:(1)赋给无符号类型一个超出它表示范围的值时(如负数),结果是所赋的值对该无符号类型表示数值总数(256个)取模后的余数,赋给带符号类型一个超出它表示范围的值时,结果是未定义的;(2)给无符号数加上一个负数,结果是先将负数按照(1)的方法转化成无符号数再相加; (3) for(unsigned u=10 ; u>=0 ; --u){} 这是一个死循环。
3.转义序列:如果反斜线\后面跟着的八进制数字超过3个,只有前3个与\构成转义序列,例如“\1234”表示2个字符(‘\123’和‘4’),相反\x要用到后面跟着的所有十进制数。
4.默认初始化:如果内置类型(例如int ,double等)的变量未被显示初始化,值由定义的位置决定:定义在任何函数体之外初始化为0,函数体之内则不被初始化;对于类对象而言&#