• (译+原)std::shared_ptr及std::unique_ptr使用数组

    时间:2022-06-19 00:21:46

    转载请注明出处:http://www.cnblogs.com/darkknightzh/p/5462363.html参考网址:http://*.com/questions/13061979/shared-ptr-to-an-array-should-it-be-used默认情...

  • C++11新特性之智能指针(shared_ptr/unique_ptr/weak_ptr)

    时间:2022-05-17 07:57:15

    这篇文章主要介绍了C++11新特性之智能指针,包括shared_ptr, unique_ptr和weak_ptr的基本使用,感兴趣的小伙伴们可以参考一下

  • shared_ptr线程安全性全面分析

    时间:2022-04-23 12:40:10

    正如boost文档所宣称的,boost为shared_ptr提供了与内置类型同级别的线程安全性。这包括:1. 同一个shared_ptr对象可以被多线程同时读取。2. 不同的shared_ptr对象可以被多线程同时修改成

  • C++智能指针shared_ptr分析

    时间:2022-04-23 07:57:01

    这篇文章主要介绍了C++智能指针shared_ptr分析的相关资料,需要的朋友可以参考下

  • C++11 智能指针之shared_ptr代码详解

    时间:2022-04-23 07:56:43

    这篇文章主要介绍了 C++11 智能指针之shared_ptr的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  • 浅析Boost智能指针:scoped_ptr shared_ptr weak_ptr

    时间:2022-04-21 05:33:19

    虽然通过弱引用指针可以有效的解除循环引用,但这种方式必须在程序员能预见会出现循环引用的情况下才能使用,也可以是说这个仅仅是一种编译期的解决方案,如果程序在运行过程中出现了循环引用,还是会造成内存泄漏的

  • C++11中的智能指针shared_ptr、weak_ptr源码解析

    时间:2022-04-16 07:34:18

    本文是基于gcc-4.9.0的源代码进行分析,shared_ptr和weak_ptr是C++11才加入标准的,仅对C++智能指针shared_ptr、weak_ptr源码进行解析,需要读者有一定的C++基础并且对智能指针有所了解

  • 巧用std::shared_ptr全局对象释放单例内存

    时间:2022-03-31 03:56:27

    巧用std::shared_ptr单例的使用相对比较广泛,但是需要在程序退出前调用它的析构函数对数据进行释放,常规做法是在main函数末尾进行释放工作,但是这样相对比较繁琐,因此便有了利用全局变量由系统负载析构的特点,定义一个全局str::shared_ptr对象,对象指定对单例进行析构。因此不需要...

  • std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题

    时间:2022-03-13 04:52:52

    在std::shared_ptr被引入之前,C++标准库中实现的用于管理资源的智能指针只有std::auto_ptr一个而已。std::auto_ptr的作用非常有限,因为它存在被管理资源的所有权转移问题。这导致多个std::auto_ptr类型的局部变量不能共享同一个资源,这个问题是非常严重的哦。...

  • 实战c++中的智能指针unique_ptr系列--通过unique_ptr对shared_ptr进行初始化

    时间:2022-02-22 21:49:44

    首先需要明确的是,这篇文章不是要描述unique_ptr和shared_ptr两个只能指针之间的区别,主要就是为了用unique_ptr对shared_ptr进行初始化。#include<iostream>#include<memory>intmain(){std::cout...

  • auto_ptr,shared_ptr 智能指针的使用

    时间:2022-02-15 13:02:54

    Q:那个auto_ptr是什么东东啊?为什么没有auto_array?A:哦,auto_ptr是一个很简单的资源封装类,是在<memory>头文件中定义的。它使用“资源分配即初始化”技术来保证资源在发生异常时也能被安全释放(“exceptionsafety”)。一个auto_ptr封装了...

  • 智能指针shared_ptr的用法

    时间:2022-01-13 03:05:12

    为了解决C++内存泄漏的问题,C++11引入了智能指针(SmartPointer)。智能指针的原理是,接受一个申请好的内存地址,构造一个保存在栈上的智能指针对象,当程序退出栈的作用域范围后,由于栈上的变量自动被销毁,智能指针内部保存的内存也就被释放掉了(除非将智能指针保存起来)。C++11提供了三种...

  • C++ Primer : 第十二章 : 动态内存之shared_ptr类

    时间:2021-12-22 06:49:58

    在C++中,动态内存是的管理是通过一对运算符来完成的:new ,在动态内存中为对象分配空间并返回一个指向该对象的指针,delete接受一个动态对象的指针,销毁该对象,并释放该对象关联的内存。动态内存的使用很容器出现错误,确保在正确的时间释放动态内存是极其困难的。有时候我们会忘记释放动态内存,这样就会...

  • std::shared_ptr的工作原理

    时间:2021-12-02 05:13:08

    前戏先抛出两个问题如果delete一个指针,但是它真实的类型和指针类型不一样会发生什么?是谁调用了析构函数?下面这段代码会发生什么有趣的事情?//delete_diff_type.cpp#include<iostream>usingnamespacestd;classFoo{public...

  • C++动态内存管理之shared_ptr、unique_ptr

    时间:2021-11-10 02:49:22

    C++中的动态内存管理是通过new和delete两个操作符来完成的。new操作符,为对象分配内存并调用对象所属类的构造函数,返回一个指向该对象的指针。delete调用时,销毁对象,并释放对象所在的内存。但在程序中使用new和delete容易导致很多问题,这里列出三个比较容易犯的错误。我们new了一个...

  • tolua 转换 std::shared_ptr

    时间:2021-11-08 04:37:23

    tolua转换std::shared_ptr自从c++11以后std::shared_ptr几乎是比用的东西,经常会遇到类似如下应用std::shared_ptr<Tst_ShareTest>createObject();类似这样的函数在tolua的转换稍稍有些麻烦,今天做了两个实验,下...

  • std::shared_ptr

    时间:2021-11-08 04:37:05

    在std::shared_ptr被引入之前,C++标准库中实现的用于管理资源的智能指针只有std::auto_ptr一个而已。std::auto_ptr的作用非常有限,因为它存在被管理资源的所有权转移问题。这导致多个std::auto_ptr类型的局部变量不能共享同一个资源,这个问题是非常严重的哦。...

  • Item 20: 使用std::weak_ptr替换会造成指针悬挂的类std::shared_ptr指针

    时间:2021-11-08 04:37:23

    本文翻译自moderneffectiveC++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢!博客已经迁移到这里啦矛盾的是,我们很容易就能创造出一个和std::shared_ptr类似的智能指针,但是,它们不参加被指向资源的共享所有权管理。换句话说,这是一个行为像std::shared_...

  • C++11 shared_ptr 与 make_shared源码剖析详解

    时间:2021-10-15 08:47:25

    这篇文章主要介绍了C++11 shared_ptr 与 make_shared的源码剖析,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  • 深入学习C++智能指针之shared_ptr与右值引用的方法

    时间:2021-09-28 06:10:01

    智能指针的核心实现技术是引用计数,每使用它一次,内部引用计数加1,每析构一次内部的引用计数减1,减为0时,删除所指向的堆内存,今天通过本文给大家分享C++智能指针之shared_ptr与右值引用的方法,需要的朋友跟随小编一起