-
拷贝构造函数的参数必须是该类型的const 引用,如果是复制的话,则会出现死循环。正确的例子:
class Test
{
public:
class(int a)
{
m = a;
}
class(const Test& test);
{
m = test.m;//此处类可以访问私有成员m
}
~class();
private:
int m;
};
-
深拷贝和浅拷贝可以简单理解为:如果一个类拥有资源,当这个类的对象发生复制过程的时候,资源重新分配,这个过程就是深拷贝,反之,没有重新分配资源,就是浅拷贝。
深拷贝和浅拷贝的定义可以简单理解成:如果一个类拥有资源(堆,或者是其它系统资源),当这个类的对象发生复制过程的时候,这个过程就可以叫做深拷贝,反之对象存在资源,但复制过程并未复制资源的情况视为浅拷贝。
浅拷贝资源后在释放资源的时候会产生资源归属不清的情况导致程序运行出错。
-
在类成员函数的声明和定义中,const的函数不能对其数据成员进行修改操作。const的对象,不能引用非const的成员函数。
-
在.h文件中,对函数进行定义必须要使用内联函数。