stroustrup的 The c++ programming language
1.编译时错误,链接时错误,运行错误和逻辑错误。由前向后错误更难发现和修改调试。
2.名字:字母开头,字母,数字,下划线
3.程序设计的阶段:分析,设计,实现
4.自定义类型:包括成员函数(操作)和数据成员。

第8章
1.每个定义同时也是一个声明,但某些声明不是定义。
2.编写代码的根本原则是:
(1)使用传值方式传递非常小的对象,
(2)使用传常量引用方式传递你不需要修改的大对象。
(3)让函数返回一个值,而不是修改通过引用参数传递来的对象。
(4)只有迫不得已时才使用传引用方式。
3.书面162页,C++语法结构定义:
(1).类中的函数:成员函数。这是最常见和最有用的情况。
(2).类中的类:成员类(也称做嵌入类)。这只在复杂类中才有用,记住理想情况是保持类简短、简单。
(3).函数中的类:局部类。应避免这种代码,如果你觉得需要一个局部类,那么你的函数可能太长了。
(4).函数中的函数:局部函数(也称嵌套函数)。在C++中是不合法的,不要写这种代码,编辑器会拒绝它。
(5).函数或块中的块:嵌套块。嵌套块是避免不了的,但要对复杂的嵌套保持警惕:它很容易隐藏错误。

第9章
1.类型T():string()它应该为空,内置类型():int()它等于0,

第10章
1.showbase:显示基数,oct:八进制,dec:十进制,hex:十六进制,noshowbase:取消显示基数
2.精度设置

第14章
1.对象的布局:数据成员在内存中一个接一个地存储。
2.纯虚函数,class abs{void func()=0;}; 除非所有纯虚函数都被覆盖了,否则该派生类也是抽象的;
3.如果没有任何数据成员需要初始化,那就不需要构造函数。
4.只要有1个纯虚就是抽象类

第17章
1.使用new操作符从空闲中分配内存:
new操作符返回一个指向被分配的内存的指针。
一个指针的值是内存中首字节的对象。
一个指针指向一个特定类型的对象。
一个指针并不知道它指向多少个元素。
2.如果你有一个带有虚函数功能的类,则它需要一个虚的析构函数,具体原因为:
如果一个类有虚函数功能,它经常作为一个基类的使用
如果它是一个基类,它的派生类经常使用new来分配
如果一个派生类对象使用new来分配,并且通过一个指向它的基类的指针来控制,那么它经常通过一个指向它的基类的指针来删除它
3.尽量将new放在构造函数中,delete放在析构函数中
4.点和箭头通常称为成员访问操作符
5.函数参数三种形式:传值,传引用,传地址(指针)
6.sizeof()返回的是变量声明后所占的内存数