If tomorrow never comes

The meaning of life is creation,which is independent an boundless.

导航

初读高质量C和C++编程指南笔记

Posted on 2008-12-31 17:08  Brucegao  阅读(167)  评论(0编辑  收藏  举报
1、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针。
2、不要用return语句返回指向“栈内存”得指针,因为该内存在函数结束时自动
消亡。
3、C语言得malloc/free和C++的new/delete,前者时库函数,后者则不是。前者
在调用时不会执行构造函数和析构函数,而后者则会有相应得构造和析构函数,
所以后者用得更加安全。
4、函数得缺省值只能在函数得声明时被从后向前挨个儿缺省。
    void Foo(int x,int y=0,int z=0);//正确得缺省
    void Foo(int x=0,int y,int z=0);//错误得缺省
5、如果运算符被重载为全局函数,那么只有一个参数得运算符叫做一元运算符,
  有两个参数得运算符叫做二元运算符。
   如果运算符被重载为类的成员函数,那么一元运算符没有参数,二元运算符只
   有一个右侧参数,因为对象自己成了左侧参数。
6、c语言与C++
   (1)C++支持函数重载而c语言则不支持
   (2)C++参数传递有:值传递、指针传递、引用传递
      C参数传递有:值传递、指针传递
   (3)c++对函数曾加了重载(overloaded)、内联(inline)、const和virtual
7、每个类只有一个构造函数和一个赋值函数,但可以有多个构造函数。