如果面试官让你写一个智能指针,那你就写unique_ptr#include<iostream>#include<stdlib.h>//C++11//unique_ptr:简单粗暴,防拷贝。效率高,鼓励公司使用namespace juju{ template<class T> class unique_ptr { public: uniqu...
原创 2021-08-10 10:22:46
119阅读
std::unique_ptr 是一个独占型的智能指针,它不允许其他的智能指针共享其内部的指针 一、初始化 (1)构造函数初始化: 可以通过它的构造函数初始化一个独占智能指针对象,但是不允许通过赋值将一个 unique_ptr 赋值给另一个 unique_ptr。 // 通过构造函数初始化对象 un ...
转载 2021-08-15 12:12:00
226阅读
2评论
一、VS例子 二、Qt例子 mainwindow.h: mainwindow.cpp: 现象: 在new A的时候打印A,在窗口关闭后,自动回收A的内存,打印~A。 三、智能指针数组 mainwindow.h mainwindow.cpp 现象: 在new的时候打印A,在pop之后打印~A 四、智能
转载 2019-06-24 17:31:00
148阅读
2评论
unique_ptr 为独占的智能指针,与所指对象的内存绑定紧密,不能与其他unique_ptr类型的指针对象共享所指对象的内存。比如 unique_ptr<TEST> p1(new TEST("case_1")); auto p44 = p1;编译是不能通过的。可以通过move来转移内存 unique_ptr<TEST> p1(new...
C++
C
原创 2021-07-13 11:00:30
148阅读
// TestAutoPtr.cpp : Defines the entry point for the console application.  //   #include "stdafx.h"  #include 
原创 2012-09-20 22:26:57
1266阅读
来源:微信公众号「编程学习基地」文章目录unique_ptr基本使用创建空的unique_ptr对象new一个unique_ptr对象make_unique创建unique_ptr对象获取被管理对象的指针重置 unique_ptr 对象转移
原创 2021-07-01 11:43:28
736阅读
来源:微信公众号「编程学习基地」文章目录unique_ptr基本使用创建空的unique_ptr对象new一个unique_ptr对象make
原创 2022-03-15 09:52:08
174阅读
一个unique_ptr"拥有“他所指向的对象。与shared_ptr不同,某个时刻只能有一个unique_ptr指向一个给定的对象。当uni
原创 2023-06-06 00:16:29
505阅读
c++11 条款21:尽量使用std::make_unique和std::make_shared而不直接使用new c++11 条款18: 使用std::unique_ptr来进行独享所有权的资源管理 https://msdn.microsoft.com/zh-cn/library/hh279676
转载 2016-06-07 10:14:00
157阅读
2评论
形参为unique_ptr u2,而后实参为std::move(unique_ptr u1),这样会将原本u1的内存传递给u2,避免了传递拷贝。例如:
转载 2018-04-08 17:52:00
592阅读
2评论
unique_ptrunique_ptr和shared_ptr不同,unique_ptr不允许所指向的内容被其他指针共享,所以unique_ptr是不允许拷贝构造和赋值的。void use_uniqueptr() { //指向double类型的unique指针 unique_ptr<double> udptr; //一个指向int类型的unique指针
12.1.4智能指针和异常1.在块中创建的动态内存,如果是由内置指针来指向这块内存,那么若是在块结束时未delete这个指针,则该内存不会被释放,若在delete之前发生异常,由于还没执行delete操作,内存也...
原创 2021-05-28 14:36:56
543阅读
前言智能指针是行为类似于指针的类对象,单这种对象还有其他功能。本文介绍三个可帮助管理动态
原创 2023-12-22 20:51:51
89阅读
很多人听说过标准auto_ptr智能指针机制,但并不是每个人都天天使用它。这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码。本文阐述了如何正确运用auto_ptr来让你的代码更加安全——以及如何避免对auto_ptr危险但常见的误用,这些误用会引发间断性发作、难以诊断的bug。 1.为什么称它为“自动”指针?auto_ptr只是众多可能的智
转载 2015-12-16 17:19:00
200阅读
2评论
C++11中的四种智能指针前言C++ STL 提供了四种智能指针:auto_ptrunique_ptr、shared_ptr 和 weak_ptr。其中auto_ptr 是 C++98 提供的解决方案,C+11 已将其摒弃,并提出了 unique_ptr 作为 auto_ptr 替代方案。虽然 auto_ptr 已被摒弃,但在实际项目中仍可使用,但建议使用较新的 unique_ptr,因为 un
转载 2022-11-04 09:44:28
368阅读
C++虐我千百遍,我待C++如初恋 从智能指针说起 对高手而言。指针是上天入地的神器。对新手而言,那简直是灾难的源泉。高级语言如Java,C#都自己主动管理内存。你仅仅管new。不必担心内存释放问题。Bjarne StroustrupC觉得++增加垃圾回收机制将做不适合系统底层的开发,为此C++提倡
转载 2018-02-10 19:01:00
169阅读
2评论
unique_ptr描述声明头文件:<memory>模版类:默认类型template <class T, class D = default_delete<T>> class unique_ptr数组类型template <class T, class D> class unique_ptr<T[],D>;作用与shar...
原创 2022-11-04 11:23:30
550阅读
https://en.cppreference.com/w/cpp/memory/unique_ptr#include <iostream>#include <memory>d::cout << "~Foo " <
原创 2022-09-23 13:48:47
69阅读
unique_ptr 不共享它的指针。它无法复制到其他 unique_ptr,无法通过值传递到函数,也无法用于需要副本的
原创 2023-07-27 21:39:14
82阅读
我们知道auto_ptr通过复制构造或者通过=赋值后,原来的auto_ptr对象就报废了.所有权转移到新的对象中去了.而通过shared_ptr可以让多个智能指针对象同时拥有某一块内存的访问权.但假如我们不希望多个内存块被多个智能指针对象共享,同时又不会像auto_ptr那样不知不觉的就让原来的au...
转载 2014-09-24 09:57:00
110阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5