拷贝普通指针时,仅拷贝地址,不会影响指向的对象。 可能导致多个指针指向同一内存区域,从而引发重复释放的问题。 int* rawPtr1 = new int(10); int* rawPtr2 = rawPtr1; // 两个指针指向同一块内存 delete rawPtr1; // delete rawPtr2; // 再次释放会导致未定义行为 智能指针 对于std::shared_ptr,...
普通指针:普通指针没有所有权概念,多个指针可以指向同一块内存。这可能导致悬挂指针和内存泄漏问题,特别是在指针的生命周期不易控制时。 智能指针:智能指针通过引用计数或者其他所有权管理策略来确保每块内存只有一个智能指针拥有所有权。当最后一个拥有所有权的智能指针离开作用域时,动态分配的内存将自动被释放。 安全性...