C++从零开始的打怪升级之路(day16)

这是关于一个普通双非本科大一学生的C++的学习记录贴

在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料

那么开启正题

今天分享的内容是string类的模拟实现

当然string类里面有100多个函数,我们不可能将其完整得实现出来(太耗时了),最主要是实现string类的构造、拷贝构造、赋值运算符重载以及析构函数

1.关于深浅拷贝

1.1浅拷贝

浅拷贝又叫做值拷贝(位拷贝),编译器只是将对象中的值拷贝过来,如果对象中管理资源,最后就会导致多个对象共享同一份资源,当一个对象销毁就会将该共享的资源销毁,而另一些对象不知道资源已经被释放,所以继续对该资源进行操作的时候,就会发生访问违规

1.2深拷贝

深拷贝可以解决浅拷贝的问题,每个对象都有独立空间,不和其他共享

如果是一个类中涉及到资源的管理,其构造函数,拷贝构造函数,赋值运算符重载以及析构函数就必须显式给出,一般都是按照深拷贝的方式提供

2.

你可能感兴趣的:(c++,开发语言)