zl程序教程

C++ 智能指针的使用

  • C++ share_ptr智能指针使用详解

    C++ share_ptr智能指针使用详解

    share_ptr 智能指针,也被称为共享指针,用于管理可以由多个智能指针共同拥有的动态分配对象。特别是,类型 shared_ptr T 用于管理 T 类型对象的所有权。 类构造函数 shared_ptr T (T * ptr) 可用于创建共享指针,管理由裸指针 ptr 给定地址的对象。shared_ptr 类可以重载指针运算符 * 和 - 。以下示例创建了一个由共享指针管理的动态分配整数,然后

    日期 2023-06-12 10:48:40     
  • C++中智能指针如何设计和使用

    C++中智能指针如何设计和使用

        智能指针(smartpointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(referencecount)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针。每次创建类的新对象时,初始化指针并将引用计数置为1;当对象作为另一对象的副本而创建时,拷贝构造

    日期 2023-06-12 10:48:40     
  • c++ 智能指针 shared_ptr 在多态上的使用

    c++ 智能指针 shared_ptr 在多态上的使用

    #include <iostream> #include <memory> using namespace std; class Base { public: virtual ~Base() = default; /* 使其多态 */ }; class A : public Base { public:void show1() { printf("1\n"); } }

    日期 2023-06-12 10:48:40     
  • C++ QT中的智能指针解释与使用

    C++ QT中的智能指针解释与使用

    0、 引入 前面说了C++11中的智能指针,其实在QT中也有自己的指针,官方说比C++的好用,可能优化了。 Qt中所有的智能一览表 1、QPointer QPointer是一个被保护的指针,行为类似于普通的c++指针T *,会在

    日期 2023-06-12 10:48:40     
  • C++中智能指针的设计和使用

    C++中智能指针的设计和使用

    智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,可以确保自己主动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针。每次创建类的新对象时。初始化指针并将引用计数置为1;当对象作为还有一对象的副本而创建时。拷

    日期 2023-06-12 10:48:40     
  • 【c++复习笔记】——智能指针详细解析(智能指针的使用,原理分析)

    【c++复习笔记】——智能指针详细解析(智能指针的使用,原理分析)

    原文:https://blog.csdn.net/sjp11/article/details/123899141 目录 一. 智能指针的基本概念 二. 智能指针的定义和使用 三. auto_ptr 四. unique_ptr 五. share_ptr 1. shared_ptr的基本概念 2. shared_ptr的原理 3. shared_ptrd的实现 4. shared_ptr的循环引用

    日期 2023-06-12 10:48:40     
  • C++11中智能指针的原理、使用、实现

    C++11中智能指针的原理、使用、实现

     目录 理解智能指针的原理 智能指针的使用 智能指针的设计和实现 1.智能指针的作用        C++程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。程序员自己管理堆内存可以提高了程序的效率,但是整体来说堆内存的管理是麻烦的,C++11中引入了智能指针的概念,方便管理堆内存

    日期 2023-06-12 10:48:40     
  • 【转】C++智能指针的正确使用方式

    【转】C++智能指针的正确使用方式

    对象所有权   首先需要理清楚的概念就是对象所有权的概念。所有权在 rust 语言中非常严格,写 rust 的时候必须要清楚自己创建的每个对象的所有权。 但是 C++ 比较自由,似乎我们不需要明白对象的所有权,写的代码也能正常运行。但是明白了对象所有权,我们才可以正确管理好对象生命周期和内存问题。 C++ 引入了智能指针,也是为了更好的描述对象所有权,简化内存管理,从而大大减少我们 C++ 内存

    日期 2023-06-12 10:48:40