C++杂记(1)

来源:互联网 发布:代码什么颜色 知乎 编辑:程序博客网 时间:2024/05/16 12:31

explicit: (本意:清晰的,明确的)

  • 作用:在C++类的构造函数(单参数)中声明,用来阻止隐式调用,如IntCell t1=32;
  • 用法:在构造函数前声明即可.

访问函数和修改函数:

  • 一般默认为修改函数,在函数结尾圆括号加上const表示一个访问函数,它不改变数据成员的值.

指针比较和赋值,是基于指向的地址.

关于函数传参:

  • 按值传递:适合不被函数更改的小对象
  • 常量引用传递:适合不被函数更改的大对象 eg:const vector &test
  • 引址调用:适合所有可被函数更改的对象. 用&.
    waing: 尽量少用引址返回,会导致很多隐藏的错误!
    LACK 引用变量必须初始化??

析构函数的必要:

  • 如果类的成员含有指针,或有new过的变量,则必须在析构函数中释放.

复制构造函数和’=’重载:

  • 复制构造函数在初始化一个变量时调用,如果定义一个变量等于一个已存在的变量,则调用复制函数
    以及’=’. LACK 为什么会调用’=’??且Test test3(test2);也会这样.
  • 两个已存在变量的赋值,只会调用’=’!!!
  • 如果成员有指针,则必须写这两个函数,否则是浅复制,只复制指针的值,需要深复制.

在new堆中声明一个数组: area *one=new area[100];

注意: 删除时时: delete []one;     //不是delete one[];    为何,
0 0