首页 > 系统相关 >C++ 动态内存管理: `std::unique_ptr

C++ 动态内存管理: `std::unique_ptr

时间:2024-08-05 11:57:46浏览次数:17  
标签:std 数组 make C++ ptr 动态内存 unique class

定义与头文件

std::unique_ptr 的功能定义于 <memory> 头文件中。它主要用于管理动态分配的内存,保证资源正确释放。

函数模板 std::make_unique

非数组类型

template< class T, class... Args >
unique_ptr<T> make_unique( Args&&... args );
  • C++14 起
  • 用于构造非数组类型 T 的对象。参数 args 被转发给 T 的构造函数。
  • 重载仅参与非数组类型的重载决议。
  • 函数等价于 unique_ptr<T>(new T(std::forward<Args>(args)...))

未知边界数组

template< class T >
unique_ptr<T> make_unique( std::size_t size );
  • C++14 起
  • 用于构造未知边界的 T 数组。
  • 重载仅参与未知边界数组的重载决议。
  • 函数等价于 unique_ptr<T>(new typename std::remove_extent<T>::type[size]())

已知边界数组

template< class T, class... Args >
/* unspecified */ make_u

标签:std,数组,make,C++,ptr,动态内存,unique,class
From: https://blog.csdn.net/Him__/article/details/140923313

相关文章

  • C++递归找规律典型题:派蒙的问题
    题目描述:有一天,旅行者和派蒙来到了一个未知的世界。这个世界充满了奇幻的景色和令人迷失的迷宫。他们决定一起探索这个神秘的地方,希望寻找宝藏和解开谜题。当他们穿越迷宫的时候,他们突然来到了一个巨大的房间。房间的中央有一个巨大的石头柱子,上面镶嵌着奇怪的符号和图案,上面......
  • c++递归算法较难题:分解数字
    题目描述:输入自然数 n,然后将其分拆成由若干数相加的形式,参与加法运算的数可以重复,要求输出降序排列。输入描述:一个待拆分的自然数n,(n≤50) 。输出描述:若干个拆分的加法等式。样例输入:5样例输出:5=55=4+15=3+25=3+1+15=2+2+15=2+1+1+15=1+1+1+1+1题目思想:将要分......
  • C++回溯算法经典例题:四皇后问题
    问题简介:在一个4×4的棋盘上,任意两个皇后都不能处在同一行、同一列任意两个皇后都不能处在同一斜线上(主斜线、反斜线)。题目分析:1.假设第一个皇后在(1,1):    1)在x=3时会卡死            2)在x=4时会卡死        2.假设第一个皇后在(2,1): ......
  • C++简单模拟:电梯问题
    问题描述:某城市最高建筑物只有一个电梯,一个请求列表是由 n 个正整数组成的。数字表示电梯将停在哪个楼层。电梯向上移动一层需要 6 秒,向下移动一层需要 4 秒。电梯每次停下会停留 5 秒,对于给定的请求列表,需要计算用于满足列表中所有请求的总时间。电梯开始时在第一层......
  • C++商店管理系统
    代码中使用了C++11的特性后面有些输出(cout输出的)的提示文本是英文,因为懒得敲中文源码在最后面文末投票参与一下谢谢商品数据保存在items.txt用户数据保存在users.txt实现功能1.添加商品(商品ID,商品名,库存数量,价格)填写完信息后询问是否执行2.修改商品(先提示原有信......
  • SpringBoot-书店信息管理系统+93494(免费领源码+开发文档)可做计算机毕业设计JAVA、PHP
    基于springboot书店信息管理系统摘 要书店信息管理系统采用B/S结构、java开发语言、以及Mysql数据库等技术。系统主要分为管理员和用户两部分,管理员管理主要功能包括:首页、轮播图、公告栏、资源管理(图书资讯、资讯分类)交流管理(留言板、留言板分类)系统用户(管理员、顾客用户......
  • 【每日一题】【DFS】【试除法求约数】【大剪枝】清楚姐姐跳格子 牛客周赛 Round 54 D
    牛客周赛Round54D题清楚姐姐跳格子题目背景牛客周赛Round54题目描述样例#1样例输入#1523154样例输出#12做题思路首先知道ai......
  • Halcon C++ 环境配置
    前言:这一段时间因为工作原因在使用Halcon做机器视觉的方案,因此学习了小半年的halcon,在学习过程中使用记事本记录下了学习过程中的一些经验,整理出来分享。目标:在VS2020编译环境下,配置Halcon的环境,使之能够调用Halcon的方法。方法:打开新建的项目,点开该项目的属性。在VC++目录......
  • C++(仿函数)
    目录1.仿函数的定义和使用2.仿函数的优点3.总结仿函数(Functor)是C++中的一种重要概念,它指的是一个重载了operator()的类或结构体。仿函数允许你像使用普通函数一样使用类的实例。它们通常用于需要函数作为参数的算法或需要自定义操作的场景。1.仿函数的定义和使用定义......
  • C++进阶 map和set
    目录关联式容器键值对set的介绍set的使用set的模板参数列表set的构造set的迭代器set的容量set修改操作 multiset的介绍multiset的使用map的介绍map的使用map的模板参数说明map的构造map的迭代器map的容量与元素访问map中元素的修改 multimap的介绍关联......