在C++编程中,智能指针是一种非常重要的概念,它能自动管理动态内存,避免内存泄漏。本主题将深入探讨如何实现一个简单的智能指针,包括拷贝构造函数、赋值运算符以及引用和解引用操作符的重载。我们将使用C++标准库中的`std::shared_ptr`作为参考,并在Visual Studio 2019环境下进行编译。 我们需要了解智能指针的基本原理...
拷贝函数的参数非要定义成const,但是因为智能指针的特殊性, 在拷贝中应该取消原指针对内存的管理,必须修改原指针的成员变量, 由此产生矛盾。注意np.auto_del = false;这句和const的冲突!