C++ Primer 笔记节选

  假期太懒了,几乎什么都没干(抽嘴巴)...看了几页《C++ Primer》,记了几行笔记...而已...

------------------------------------------------------------------------------------------

  assert()是C标准库定义的一个通用预处理器的宏.

  标准C++头文件没有后缀.

  C++中,指针最好别用来赋值,而用于管理和操纵动态分配的内存.

  动态对象的分配和释放,必须由程序员显式地管理,用new 和 delete.

  内存泄露指一块动态分配的内存,我们不再拥有这块内存的指针,因此我们没法将它返回给程序供以后重新使用.

  C++不允许成员函数与数据成员共享一个名字,所以一般习惯在数据成员名字前面加一个_.

  一般来说,函数调用比直接访问内存开销大得多。所以,信息隐藏是否为程序执行效率带来了额外负担?没有,因为有内联函数。内联函数在调用点被展开。在类定义中被定义的成员函数会被自动当作内联函数。

  C++支持的函数重载,要求参数列表不同:参数类型不同或参数数目不同。

  重载函数在运行时的行为与非重载函数一样,主要负担在编译时刻.

  在类的所有对象中共享数据的方式为static变量。

  提供给程序得内存不是无限的,故new表达式可能失败。

  类的拷贝构造函数引用是一种没有指针语法的指针。

  每个类对象在被程序最后一次使用之后,析构函数会被自动调用。

  程序文本文件的后缀因编译系统而不同.

  C++为从一个类对象到另一个类对象赋值提供了缺省操作。

  把一个类设计为基类,需要找出类型相关的成员函数,把它们标记为virtual.

  虚函数调用的决定要等到运行时.

  可用异常处理代替assert().

  派生类对象的初始化过程:首先自动调用每个基类的构造函数来初始化相关的基类子对象,然后再执行派生类的构造函数。

  从设计角度看,派生类的构造函数应该只初始化那些在派生类中被定义的数据成员。

  派生类构造函数的语法提供了向基类构造函数传递参数的接口。

inline IntArrayRC::IntArrayRC(int sz)
:IntArray(sz){}

  冒号分隔出来的部分称作成员初始化列表,提供向IntArray够战胜传递参数的机制。函数体为空,因为它们的工作就是把参数传递给相关的IntArray构造函数。C++支持的两种继承:多继承和虚拟继承。

  在OOP中,在程序执行过程中任意一个点上,都能够查询某个类的引用或指针所指向的实际类型,这是由RTTI(运行时刻类型识别)设施提供的。

  虚函数比非虚函数效率要低一些,因为它们不能被内联。

  对不同数据类型编写函数模板,代表实际参数名的标示符用作占位符。

  类模板可以作为基类和派生类。

  new表达式失败时,标准库会产生bad_alloc标准异常,在try块外抛出。

  如果异常机制按照函数被调用的顺序回查每个函数直到main函数仍没照到处理代码,那么将调用标准库函数terminate(),缺省情况下,该函数结束程序。

  名字空间允许我们封装名字,改变可视性。

  如果namespace内的声明对程序而言不是立即可见的,我们可以通过::访问。

  C++的别名设施 namespace LIB=Cplusplus_Primer_3E;

  using提供了更为精细的名字可视性机制,比如using IBM::Matrix;推荐此方法!

  即使我们在程序文本文件中include了C++库头文件,头文件中声明的组件也不是自动可见的。

  如:#include <string>string a="rainywh269";

  也是错误的,必须添上using namespace std;

  C++内置的数组支持容器的机制,但是它不支持容器抽象的语义。

  标准C++中,数组叫向量。向量是一个类模板。

  vector类不是提供一个巨大的“可以适用于向量”的成员操作集,而只是提供了一个最小集:如等于、小于操作符、size()、empty()等。而一些通用操作如sort()、min()、max()、find()等,则是作为独立的泛型算法(generic algorithm)被提供的。

  使用迭代器对(iterator pair)标记向量的起始处和结束处。迭代器是一个支持指针类型抽象的类对象。

  iterator是vector类模板中用typedef定义的类型。

  使用泛型算法需要的头文件 <algorithm>.

-----------------------------------------------------------------------------

  不知道有没有人注意到博客页尾处的一点变化。某天在douban上鼓捣了一下,把自己“书影音”部分的新鲜事共享到了这里(每个都有链接)。

今天把它们弄成“居中”了(自己汗下...)。我要是能有个独立域名写博,一定会像自己家一样悉心打理,那主人翁意识肯定噌噌瞬间提升了,一定很积极地去学学html+css、php这些。也很想试试WP。可惜木有啊木有啊...所以我的懒惰有了理由。在这喊下,谁能给我一个啊??

posted @ 2011-02-23 15:26  明日萌  阅读(384)  评论(1编辑  收藏  举报