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()返回的是变量声明后所占的内存数