E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
scoped_ptr
C++ 智能指针详解
包括:std::auto_ptr、boost::
scoped_ptr
、boost::
chenglinhust
·
2013-05-04 16:00
scoped_ptr
智能指针(二)
boost::
scoped_ptr
的常用操作:可以简化为如下形式:namespaceboost{ templateclassscoped_ptr:noncopyable{ public:
miaoweiye
·
2013-04-28 16:00
关于
scoped_ptr
智能指针
今天把chromium的开发环境搭建起来了,简单的看了一下里面的代码,发现里面大量的用了
scoped_ptr
智能指针,哎,都快忘记这个玩意了,又找资料复习一下,废话不说了
scoped_ptr
和auto_ptr
miaoweiye
·
2013-04-28 16:00
Boost智能指针——
scoped_ptr
、shared_ptr、weak_ptr、intrusive_ptr
一、scoped_ptrboost::
scoped_ptr
和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。
yockie
·
2013-04-23 15:00
Google特有戏法
智能指针 如果你需要真正语意上的智能指针,
scoped_ptr
是很好的。你应该只使用std::tr1::shared_ptr,当一个对象需要共享其所有权时。不要使用auto_ptr。
hai200501019
·
2013-03-31 13:00
C++
[Boost基础]内存管理——智能指针(二)
#include #include #include //1.作用域指针 //它独占一个动态分配的对象,对应的类名为boost::
scoped_ptr
,定义在boost/scoped_ptr.hpp中。
ouyangshima
·
2013-03-01 21:00
boost库在工作(6)作用域智能指针
scoped_ptr
之五
通过前面智能指针的学习,应了解到std::auto_ptr的使用和局限性,从而引发boost库针对这些情况提供了更多的智能指针,其中
scoped_ptr
就是针对std::auto_ptr的而提供的。
caimouse
·
2013-02-05 20:00
boost库在工作(5)作用域智能指针
scoped_ptr
之四
第二种情况,主要就是使用在调用异常抛出的函数的地方。如下面的例子://异常抛出的函数,适合使用智能指针。 //软件开发人员:蔡军生2013-02-03 voidThrowFun(void) { if(1) { throw"TestThrow!"; } } voidTestCallThrow(void) { std::auto_ptrnVal(newint); ThrowFun();//这里抛出
caimouse
·
2013-02-04 21:00
boost库在工作(4)作用域智能指针
scoped_ptr
之三
标准模板库里的智能指针std::auto_ptr,一般情况下,只适合在函数中使用,当离开这个函数时,就可以自动删除分配的资源。典型的情况有两种,一种是当一个函数代码比较多,判断条件很多,这样出口很多。另一种就是带有异常机制的代码,因为异常没有抛出来之前,没有办法确定那行代码会突然间就退出来,这种情况下对资源管理,会给软件开发人员带来很大的压力,即使很有经验的开发人员,也有点防不防的,会花大量的时间
caimouse
·
2013-02-03 11:00
boost库在工作(3)作用域智能指针
scoped_ptr
之二
智能指针的原理,其实就是利用C++的一个特性,当对象创建时,一定会调用构造函数;当对象离开作用域时,会自动调用析构函数。由于这两个函数的调用都是由编译器来生成的,不用怕不调用的危险,达到安全删除的目的。当然,智能指针使用了一个对象的构造和析构,显示增加了一些开销,但比起垃圾回收机制来说,是非常小的,基本可以忽略不计。 既然智能指针已经有这么多优点,迫不及待了吧,怎么样使用呢?下面就先来看看std:
caimouse
·
2013-02-02 23:00
boost库在工作(2)作用域智能指针
scoped_ptr
之一
很久远以前,丹尼斯.里奇发明了C语言,这个语言有一个优点,就是可以动态地分配内存。当需要使用内存时,就可以立即向系统申请。当不需要时,又可以立即释放回给系统,再给别的程序使用。这种动态的内存管理,使得当时以K计算的内存时代,也可以处理很大数据量的软件出现。但这中使用函数malloc来分配内存,使用函数free来释放内存的机制,一直到今天,还在使用。不过,这种方式有一个缺点,就是当你不断地使用函数m
caimouse
·
2013-02-01 23:00
Boost智能指针——shared_ptr
boost::
scoped_ptr
虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。
debugconsole
·
2013-02-01 17:00
webrtc的
scoped_ptr
前几天看的webrtc实际上一直是libjingle的talk,base目录下的基础性东西,似乎是google在原来的webrtc的代码中又做了一些改进。现在由于工作的需要,所有的眼光都集中到webrtc上了,让我也不得不将精力向webrtc的代码靠拢。最近几天的文章不会涉及到任何关于webrtc框架的东西,何况我也不懂框架,仅仅是对webrtc一些基础类的封装的使用的库,学鲁迅的拿来主义,读懂,
lipeng08
·
2013-01-31 14:00
智能指针:
scoped_ptr
and shared_ptr
2//智能指针--
scoped_ptr
,shared_ptr 3 4#include"stdafx.h" 5#include 6#include 7#include 8#include 9classptr_test
lovemu
·
2013-01-30 09:00
auto_ptr、shared_ptr、weak_ptr、
scoped_ptr
用法小结
auto_ptr auto_ptr是现在标准库里面一个轻量级的智能指针的实现,存在于头文件memory中,之所以说它是轻量级,是因为它只有一个成员变量(拥有对象的指针),相关的调用开销也非常小。 下面的代码来自于VC++8.0里面的源码: 里面有个auto_ptr_ref的数据结构,我们可以把它忽略,这个只是内部使用的代理结构,用于一些隐式的const变化,我们客户端代码通常不会直接使用到它。
lollipop_jin
·
2013-01-14 09:00
scoped_ptr
scoped_ptr
被设计用来取代std::auto_ptr.回忆一下auto_ptr的功能,参考我
sheismylife
·
2012-12-10 15:00
Boost智能指针——
scoped_ptr
Boost智能指针——scoped_ptrboost::
scoped_ptr
和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。
DotNetFirst
·
2012-11-22 20:00
智能指针 shared_ptr
shared_ptr: shared_ptr是一个最像指针的"智能指针". shared_ptr与
scoped_ptr
一样包装了new操作符在堆上分配的动态对象,但它实现的是引用计数型的智能指针,可以被自由的拷贝和赋值
mmzsyx
·
2012-10-18 16:00
设计模式
工作
vector
delete
iterator
存储
智能指针 scoped_array
scoped_array: scoped_array的接口和功能几乎是与
scoped_ptr
是相同的(甚至还有少),主要特点如下: 【1】构造函数接受的指针p必须是new[]的结果,而不能使new表达式的结果
mmzsyx
·
2012-10-18 16:00
c
算法
delete
编译器
嵌入式操作系统
智能指针
scoped_ptr
scoped_ptr
:
scoped_ptr
是一个类似auto_ptr的智能指针,它包装了new操作符在堆上分配的动态对象,能够保证动态创建的对象在任何时候都可以被正确的删除。
mmzsyx
·
2012-10-18 16:00
c
测试
delete
scoped_ptr
与auto_ptr 区别
scoped_ptr
与auto_ptr都是简单的智能指针,能够保证在离开作用域后对象被自动释放。
wangbole
·
2012-10-18 16:00
delete
C++ 智能指针详解
包括:std::auto_ptr、boost::
scoped_ptr
、boost::shared_p
generalhking
·
2012-10-14 18:00
解读boost库的unspecified_bool_type
在boost的智能指针(包括
scoped_ptr
,scoped_array,shared_ptr,shared_array)里,会看到每个类都有一个成员函数(就称其为函数吧)operatorunspecified_bool_type
hzyong_c
·
2012-10-08 18:00
测试
Boost智能指针——shared_ptr
boost::
scoped_ptr
虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。
wuwuwuwuwuwuwuwu
·
2012-09-28 14:00
多线程
delete
浅谈chromium中的指针管理
Scoped_refptrScoped_refptr在智能指针
scoped_ptr
基础之上增加了引
qq295445028
·
2012-09-25 16:00
多线程
object
null
Class
reference
Pointers
C++智能指针漫谈【中】
Boost::scoped_ptrBoost::
scoped_ptr
是指向自动(栈)对象的、不可复制(noncopyable)的智能指针。
欧阳左至
·
2012-09-23 23:00
C++ Template中防止使用不完整类型
//filename:scoped_ptr.h template classscoped_ptr{ public: explicitscoped_ptr(C*p=NULL):ptr_(p){} ~
scoped_ptr
Wii-D
·
2012-09-13 15:00
template
c/c++
chromium
C++智能指针详解
包括:std::auto_ptr、boost::
scoped_ptr
、boost:
hoho568
·
2012-08-15 11:00
编程
C++
vector
架构设计
delete
reference
Boost智能指针——
scoped_ptr
Boost智能指针——scoped_ptrboost::
scoped_ptr
和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。
freeboy1015
·
2012-07-26 10:00
Boost智能指针——shared_ptr
Boost智能指针——shared_ptrboost::
scoped_ptr
虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。
freeboy1015
·
2012-07-26 10:00
weak_ptr,shared_ptr,
scoped_ptr
scoped_ptr
是不能和weak_ptr,shared_ptr进行转换的,因为没有相应的转换函数!所以他是孤立,这点从他的名字上也可以见到。scope:作用地域,领域。来开了就没有了。
hbhhww
·
2012-07-20 13:00
Boost库智能指针学习
1、
scoped_ptr
内动态管理内存。但所有权不能转让,不能进行赋值操作。示例代码如下。#include"stdafx.h" #
segen_jaa
·
2012-07-16 16:00
String
vector
iterator
Class
开发工具
2010
scoped_ptr
vs auto_ptr
其实
scoped_ptr
和auto_ptr的用法几乎都是一样的。
zhuyucheng123
·
2012-07-15 13:00
c
String
delete
编译器
Boost智能指针——
scoped_ptr
本文转自:点击打开链接boost::
scoped_ptr
和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。
zhuyucheng123
·
2012-07-13 21:00
智能指针
scoped_ptr
scoped_ptr
特点:1用法绝大多数情况下和auto_ptr相同。2不支持自增,自减操作。3不能被赋值或者复制构造。4由于3的原因不能作为容器的元素,这也是优于auto_ptr的原因。
callmeback
·
2012-07-05 13:00
String
user
Google C++编程
1.智能指针(SmartPointers)如果确实需要使用智能指针的话,
scoped_ptr
完全可以胜任。
j_m
·
2012-06-29 17:00
boost::
scoped_ptr
boost::
scoped_ptr
虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。
herostarone
·
2012-06-01 23:00
多线程
delete
auto_ptr、shared_ptr、weak_ptr、
scoped_ptr
用法小结
auto_ptr auto_ptr是现在标准库里面一个轻量级的智能指针的实现,存在于头文件memory中,之所以说它是轻量级,是因为它只有一个成员变量(拥有对象的指针),相关的调用开销也非常小。 下面的代码来自于VC++8.0里面的源码: 里面有个auto_ptr_ref的数据结构,我们可以把它忽略,这个只是内部使用的代理结构,用于一些隐式的const变化,我们客户端代码通常不会直接使用到它。
qingcaichongchong
·
2012-05-10 18:00
数据结构
vector
String
delete
Class
文档
Boost源码剖析--
分析:
scoped_ptr
提供了
MDL13412
·
2012-05-07 14:00
Constructor
templates
hook
initialization
destructor
RAII
boost库之
scoped_ptr
scoped:范围的意思//scoped_ptr_Exam.cpp:Definestheentrypointfortheconsoleapplication. // #include"stdafx.h" #include #include usingnamespacestd; #include"boost/smart_ptr.hpp" usingnamespaceboost; int_tma
chollima
·
2012-05-05 16:00
boost笔记:智能指针--概述
boost::scoped_ptrhttp://www.boost.org/doc/libs/1_49_0/libs/smart_ptr/scoped_ptr.htm
scoped_ptr
用于确保能够正确地删除动态分配
wcyoot
·
2012-04-26 10:00
smartPointer
包括:std::auto_ptr、boost::
scoped_ptr
、boo
china_daywalker
·
2012-04-10 22:00
编程
vector
架构设计
delete
reference
编译器
Boost智能指针——
scoped_ptr
boost::
scoped_ptr
和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。
hbhhww
·
2012-04-08 12:00
测试
null
delete
编译器
Boost智能指针——shared_ptr
boost::
scoped_ptr
虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。
hbhhww
·
2012-04-08 12:00
多线程
delete
[内存管理]智能指针与内存池的总结
scoped_ptr
是smart_ptr库中最容易学习和使用的一个,它的行为与auto_ptr相
ajioy
·
2012-03-21 18:00
工作
object
vector
delete
扩展
程序开发
智能指针shared_ptr组件的使用
它与
scoped_ptr
一样包装了new操作符在堆上分配动态对象,但它实现的是引用计数(reference-count)型智能指针,可以被自由地拷贝和赋值,在任意的地方共享它。
ajioy
·
2012-03-16 14:00
exception
object
delete
Class
reference
Borland
指向数组的智能指针scoped_array组件的使用
scoped_array与
scoped_ptr
基本是一对孪生兄弟,它包装了new[]操作符(而不是new)在堆上分配的动态数组,为动态数组提供了一个代理(Proxy),保存正确地释放内存。
ajioy
·
2012-03-14 16:00
Algorithm
vector
delete
reference
Borland
嵌入式操作系统
智能指针
scoped_ptr
组件的使用
scoped_ptr
是一个行为很类似标准库中的auto_ptr智能指针,它包装了new操作符在椎上分配的动态对象,能够保证动态创建的对象在任何时候都能够被正确的删除。
ajioy
·
2012-03-14 15:00
String
object
File
null
delete
FP
shared_ptr
shared_ptr与
scoped_ptr
一样包装了n
fakine
·
2012-03-08 16:00
c
工作
vector
String
存储
文档
boost:智能指针
boost提供了6种智能指针,如下所示:
scoped_ptr
单个对象的简单的唯一所有权.不能拷贝.scoped_array数组对象的唯一所有权.不能拷贝.shared_ptr多个指针间共享对象所有权.shared_array
saga1979
·
2011-12-25 20:00
object
vector
delete
Class
fun
上一页
1
2
3
4
5
6
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他