摘要:
C++中深拷贝与浅拷贝常见场景为类的 拷贝构造函数 与 赋值运算符重载 中。 其主要的区别在于指针成员的拷贝上,如果指针成员变量指向的内容位于动态申请的堆内存上,此时浅拷贝只是拷贝了指针变量,会造成多个指针指向同一块内存,当这些对象被析构时,就会造成多次释放同一块内存的问题,即 double fre 阅读全文
posted @ 2024-08-09 11:02
Jeffxue
阅读(92)
评论(0)
推荐(0)
摘要:
C++中如果没有显式定义类的构造函数和赋值运算符,编译器会自动生成对应的函数,但是对于一些含有指针成员变量的类,自动生成的成员函数只会进行浅拷贝,会导致动态申请的内存在对象析构的时候double free,引起崩溃的问题。 因此如果没有必要,通常会禁用该接口,避免用户调用该接口造成问题。 禁用的方式 阅读全文
posted @ 2024-08-09 09:20
Jeffxue
阅读(308)
评论(0)
推荐(0)
浙公网安备 33010602011771号