全文搜索
标题搜索
全部时间
1小时内
1天内
1周内
1个月内
默认排序
按时间排序
为您找到相关结果97,503个

深入理解Qt 智能指针_C 语言_脚本之家

1. Qt智能指针概述 Qt 提供了一套基于父子对象的内存管理机制, 所以我们很少需要去手动 delete. 但程序中不一定所有类都是QObject的子类, 这种情况下仍然需要使用一些智能指针. 注意: 在 Qt 中使用智能指针时, 一定要避免发生多次析构. 2. Qt中的智能指针分类 根据不同的使用场景, 可分为以下几种: 共享数据...
www.jb51.net/program/313540w...htm 2024-6-8

C++Smart Pointer 智能指针详解_C 语言_脚本之家

首先看一个下面的栗子,左边是木有使用智能指针的情况,当执行foo()函数,其中的e指针会在bar(e)时传入bar函数,但是在bar函数结束后没有人为delete e时,就会导致内存泄漏;但是在右边的栗子中,使用了unique_ptr智能指针(single ownership),就能防止内存泄漏。 智能指针主要用于管理在堆上分配的内存,它将普通的指针封装...
www.jb51.net/article/240720.htm 2022-3-14

C++中智能指针最常用的shared_ptr和unique_ptr_C 语言_脚本之家

不能用一个原始指针直接赋值智能指针, 以下方式是错误的 1 shared_ptr<int> p5=new int(1); //error 2.获取智能指针的原始指针: 通过get方法 1 2 shared_ptr<int> ptr = make_shared<int>(int(5)); int *p=ptr.get(); 3.指定删除器:自定义指针销毁方式 1 2 3 4 5 void ptr_deleter(const in...
www.jb51.net/article/2602...htm 2022-8-23

C++标准库学习之weak_ptr智能指针用法详解_C 语言_脚本之家

// 智能指针引用mum shared_ptr<Person> mum; //智能指针引用dad shared_ptr<Person> dad; }; // 初始化 家人,让他们循环引用 shared_ptr<Person> getFamily(const string& name){ shared_ptr<Person> mum(new Person(name +"'s Mum")); shared_ptr<Person> dad(new Person(name +"'s Dad")); ...
www.jb51.net/program/307059n...htm 2024-6-10

C++ smart pointer全面深入讲解_C 语言_脚本之家

当你使用make_shared的时候 又想去使用智能指针指向一个数组的时候 一个推荐的做法如下 1 2 3 4 5 6 int main() { std::shared_ptr<std::vector<int>>p1(new std::vector<int>()); //下面这种方式比上面这种方式性能更快 并且更加安全 std::shared_ptr<std::vector<int>>p2 = make_shared<std:...
www.jb51.net/article/2605...htm 2024-6-8

C++ Boost weak_ptr智能指针超详细讲解_C 语言_脚本之家

到目前为止介绍的每个智能指针都可以在不同的场景中单独使用。但是,boost::weak_ptr 仅在与 boost::shared_ptr 结合使用时才有意义。 boost::weak_ptr 在 boost/weak_ptr.hpp 中定义。示例1.Usingboost::weak_ptr1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include...
www.jb51.net/article/2677...htm 2024-6-10

C++11新特性之智能指针(shared_ptr/unique_ptr/weak_ptr)_C 语言_脚本...

这篇文章主要介绍了C++11新特性之智能指针,包括shared_ptr, unique_ptr和weak_ptr的基本使用,感兴趣的小伙伴们可以参考一下shared_ptr基本用法shared_ptr采用引用计数的方式管理所指向的对象。当有一个新的shared_ptr指向同一个对象时(复制shared_ptr等),引用计数加1。当shared_ptr离开作用域时,引用计数减1。当...
www.jb51.net/article/900...htm 2024-6-9

C++ boost scoped_ptr智能指针详解_C 语言_脚本之家

一、智能指针-唯一所有者 boost::scoped_ptr 是一个智能指针,它是动态分配对象的唯一所有者。 boost::scoped_ptr 无法复制或移动。此智能指针在头文件 boost/scoped_ptr.hpp 中定义。 二、接口类分析 scoped_array 分析 scoped_array 的类部分原始代码如下: ...
www.jb51.net/article/267849.htm 2022-11-18

C++智能指针weak_ptr的作用详解_C 语言_脚本之家

weak_ptr是一个智能指针,也是一个类模板,本文主要介绍了C++智能指针weak_ptr的作用详解,具有一定的参考价值,感兴趣的可以了解一下− 目录 当使用std::shared_ptr时,循环引用可能会导致资源泄漏的问题。下面是一个简单的示例,展示了循环引用导致资源泄漏的情况:...
www.jb51.net/program/296541i...htm 2024-6-10

C++11 智能指针的具体使用_C 语言_脚本之家

智能指针的原理 上述的SmartPtr还不能将其称为智能指针,因为它还不具有指针的行为。指针可以解引用,也可以通过->去访问所指空间中的内容 ,因此:SmartPtr模板类中还得需要将* 、->重载下,才可让其像指针一样去使用。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25...
www.jb51.net/article/2205...htm 2024-6-10