boost::scoped_ptr与std::unique_ptr

boost::scoped_ptr与std::unique_ptr都是类模板,封装了指针

两者都禁用了拷贝构造和赋值函数,因此不能作为STL容器中的元素,因为在执行push_back()时需要调用赋值函数。

 

std::unique_ptr实际上与boost::scoped_ptr是等价的,只是std将boost::scoped_ptr拿来名字改为了std::unique_ptr,两者的实现方式是一致的。 boost::scoped_ptr源码如下:

template<class T>
class scoped_ptr
{
private:ScopedPtr(const ScopedPtr<T>& ap);ScopedPtr<T>& operator=(const ScopedPtr<T>& ap);public:ScopedPtr(T* ptr = nullptr):_ptr(ptr){}~ScopedPtr(){if(_ptr){delete _ptr;_ptr = nullptr;}}private:T* _ptr;
};

C++11实现的std::unique_ptr以后,并没有去实现std::unique_array,是因为标准库中有vector,其实是很好用的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463084.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

接口,new,匿名内部类

接口&#xff0c;new&#xff0c;匿名内部类 接口不能被实例化&#xff0c;如&#xff1a; ----------------清单1---------------------- public interface Test { public void doIt(); } --------------------------------------------- 在测试类中语句&#xff1a;Test…

Python: 使用装饰器“@”取得函数执行时间

class A():Python: 使用装饰器“”取得函数执行时间 - oldJ的学习笔记 - 博客频道 - CSDN.NETPython: 使用装饰器“”取得函数执行时间 分类&#xff1a; Python 2009-10-14 12:53 752人阅读 评论(0) 收藏 举报Python中可以使用装饰器对函数进行装饰&#xff08;或说包装&#…

数据库07

索引 索引是一种单独的物理层面的数据结构&#xff0c;其作用是用于加速查询 mysql把数据存储到硬盘中&#xff0c;硬盘读写速度非常慢 一个应用程序&#xff0c;本质上就是对数据进行增删改查 一旦数据量比较大时&#xff0c;硬盘的响应速度变慢&#xff0c;给用户的感觉应用程…

ODT .NET 详解之 SqlDataSource 访问 Oracle

前一篇博文呢&#xff0c;介绍了如何搭配好 Oracle Developer Tools for Visual Studio .NET 的使用环境&#xff0c; 这一篇博文的话就会重点来介绍一下如何通过使用 SqlDataSource 这个控件来访问 Oracle 数据库了&#xff0c; 其实只要环境搭配好了&#xff0c;那么这一篇博…

springboot+thymeleaf+pageHelper带条件分页查询

html层 <div><a class"num"><b th:text"共 ${result.resultMap[pages]} 页"></b></a><a class"num" th:if"${result.resultMap[hasPreviousPage]} true" th:href"{/report/receivePage?cur…

Linux文件、目录权限及常用命令

############################################# 一、权限                 #############################################1、r 可读 42、w 可写 23、x 可运行 1##…

谷歌:不守规矩的“顽童”

十几岁&#xff0c;对于人类来说&#xff0c;是敏感多虑且叛逆的青春期&#xff0c;而十几岁对于一个企业则意味着扎实经营基础的黄金阶段。谷歌&#xff08;Google&#xff09;&#xff0c;这个十年来互联网领域最大的赢家&#xff0c;正是这个即将步入金钗之年的“顽童”&…

bloom filter

今天的文章和大家一起来学习大数据领域一个经常用到的算法——布隆过滤器。如果看过《数学之美》的同学对它应该并不陌生&#xff0c;它经常用在集合的判断上&#xff0c;在海量数据的场景当中用来快速地判断某个元素在不在一个庞大的集合当中。它的原理不难&#xff0c;但是设…

数据描述

数据描述 1、静态数据 本系统支持用户个人信息存储以及旅游地点、天数、花费金额、景点的推荐存储。因此&#xff0c;本系统需要存储数据库部分信息。 2、动态数据 用户登录信息 用户搜索结果 用户个人信息 旅游分享的攻略 用户个人留言 用户偏好信息 3数据库描述&#xff1a;数…

样式的使用(七)

在自定义组件中使用运行时样式 1、css文件 /* ../assets/CustomComponentStyles.css */ namespace s "library://ns.adobe.com/flex/spark"; namespace mx "library://ns.adobe.com/flex/halo"; .specialStyle{font-size:24;font-weight:bold; } 记得要把文…

skiplist原理与实现

今天继续介绍分布式系统当中常用的数据结构&#xff0c;今天要介绍的数据结构非常了不起&#xff0c;和之前介绍的布隆过滤器一样&#xff0c;是一个功能强大原理简单的数据结构。并且它的缺点和短板更少&#xff0c;应用更加广泛&#xff0c;比如广泛使用的Redis就有用到它。 …

JavaScript与HTML交互——事件

JavaScript和HTML的交互是通过事件实现的。JavaScript采用异步事件驱动编程模型&#xff0c;当文档、浏览器、元素或与之相关对象发生特定事情时&#xff0c;浏览器会产生事件。如果JavaScript关注特定类型事件&#xff0c;那么它可以注册当这类事件发生时要调用的句柄。 事件流…

ORMMySQL

概念: ORM&#xff1a;对象关系映射 , 全拼 Object-Relation Mapping ,是一种为了解决面向对象与关系数据库存在的互不匹配现象的技术。主要实现模型对象到关系型数据库数据的映射.比如&#xff1a;把数据库表中每条记录映射为一个模型对象 使用原因: 若不使用ORM框架实现一个应…

实现WM下删除最后一条匹配的通话记录

代码很简单就是操作EDB数据库&#xff0c;先按开始时间降序排序&#xff0c;然后删除第一条匹配的记录。 1 boolDeleteLastCallLogByNumber(LPCTSTR lpszNumber)2 {3 typedef enum4 {5 CT_Reserved0,6 CT_Outgoing1,7 CT_Connected2,8 CT_Ended4,9 CT_Voice_Data8,10 CT_Roam16…

std::string中的反向迭代器rbegin()和rend()

在std::string中&#xff0c;有个接口是rbegin()和rend()&#xff0c;分别表示string字符串的倒数第一个字符和正数第一个字符&#xff1b; rbegin()&#xff1a;表示string字符串的倒数第一个字符 rend()&#xff1a;表示string字符串的正数第一个字符 分为普通的iterator和…

【转】[教程] CSS入门3:如何插入CSS样式

http://bbs.blueidea.com/forum.php?modviewthread&tid2524742 转载于:https://www.cnblogs.com/lzhitian/archive/2012/11/25/2787164.html

5.spiders(文件夹)

一、基础知识 1. Spiders 文件夹 用于编写爬虫规则&#xff0c;可以在已有的___init__.py文件中编写具体的爬虫规则但是实际开发中可能有多个爬虫规则&#xff0c;所以建议一个爬虫规则用一个文件表示&#xff0c;这样便于维护和管理 2. 代码 # -*- coding: utf-8 -*- import s…

unlink(file_name)

官方描述&#xff1a; unlink的文档是这样描述的: unlink() deletes a name from the filesystem. If that name was the last link to a file and no processes have the file open the file is deleted and the space it was using is made available for reuse. …

sql server行级锁,排它锁,共享锁的使用

一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修…

日常学习笔记(1)

2019/03/19 21:12 1.函数&#xff1a;numpy.linspace(start,stop,num50,endpointTrue,retstepFalse,dtypeNone)参数&#xff1a; start&#xff1a;scalar类型&#xff08;个人理解是标量的意思&#xff0c;这不是一个具体的数据类型&#xff0c;而是指某一些数据类型&#xff…