浅拷贝:
如图所示a指向Hello,b指向World,直接进行b = a的赋值操作,导致b和a指向同一块地方,那么b原来指向的World就会发生内存泄漏,且由于a和b指向同一块地方,改变a也会影响b
深拷贝:
a指向He,b指向World,想要把b深拷贝给a,分三步走:
1、 清空a原来指向的内存空间
2、开辟和b同样大小的空间
3、将b的内容复制过去
但是要注意,先得检查在赋值之前,是否存在a=a这样的赋值情况
否则:
new三个动作:
分配内存、转型、构造函数
delete两个动作:
调用析构函数、释放内存
成员函数有一个隐藏的参数this
黄色部分可写可不写,不写编译器自动帮我们加
静态函数只能处理静态数据
调用静态函数的两种方式:
静态实现单例
更好的写法,需要单例的时候就创建
标签:函数,指向,静态,c++,学习,World,拷贝,候捷,赋值 From: https://www.cnblogs.com/tkw123/p/17891547.html