- 博客(4)
- 收藏
- 关注
原创 关于浅拷贝的危害和问题的解决方法
使用智能指针可以有效地解决浅拷贝带来的危害和问题,同时避免深拷贝带来的资源消耗。智能指针通过自动管理内存,避免了双重释放和悬挂指针等问题,提供了更安全和高效的内存管理方式。
2024-06-04 14:57:47
736
原创 浅拷贝的危害和问题
使用浅拷贝时,多个对象共享同一块内存,这会导致双重释放、悬挂指针和数据不一致等问题,严重时会导致程序崩溃或数据损坏。为了避免这些问题,应该使用深拷贝构造函数和赋值运算符重载函数,以确保每个对象拥有独立的资源和数据。
2024-06-04 14:18:28
465
原创 关于类的复制构造函数中深拷贝和浅拷贝的原理和作用
深拷贝和浅拷贝在对象复制时的处理方式不同,深拷贝会复制对象的所有数据成员及其指向的资源,确保每个对象拥有独立的数据;而浅拷贝仅复制对象的基本数据成员,导致多个对象共享同一块内存。深拷贝通过动态分配新内存并复制数据,避免了悬挂指针和重复释放内存的问题,而浅拷贝则更高效但需要小心管理资源。
2024-06-04 12:58:50
1280
原创 简化版智能指针 std::unique_ptr 实现原理!
定义一个模板类,T是模板参数,表示指针所指向的对象类型。:定义一个名为unique_ptr的类。通过以上逐行解释,可以看到简化版是如何实现其功能和作用的。它通过自动内存管理、禁用拷贝构造和拷贝赋值、实现移动语义等机制,避免了常见的内存管理错误,如内存泄漏、悬挂指针和双重释放。智能指针的这些特性显著提高了C++程序的健壮性和可维护性。
2024-06-01 21:31:08
1597
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人