码迷,mamicode.com
首页 >  
搜索关键字:智能指针 raii    ( 914个结果
智能指针
1. 为什么要智能指针?由于C++语言没有自动内存回收机制,程序员每次new出来的内存都要手动delete。但是有时候可能程序员会忘记delete,也可能是因为流程太复杂,最终没有delte,也可能是因为异常的存在,导致程序过早的退出,没有执行delete。用只能指针可以有效的解决这些问题。std:...
分类:其他好文   时间:2014-07-07 19:37:10    阅读次数:323
以独立语句将 newed 对象放入智能指针
如下的代码,虽然使用了智能指针 shared_ptr , 但是还是可能泄漏资源。 processWidget(shared_ptr(new Widget), priority()); 上述函数有两个参数,第一个是 shared_ptr, 第二个是纯粹是 priority()函数的调用。 调用时,编译器必须创建代码,包括如下三件事情: 调用 priority执行 new Widg...
分类:其他好文   时间:2014-07-02 07:01:57    阅读次数:180
Boost智能指针——scoped_ptr
boost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。上一段代码,以及其输出: 1 #include 2 #include 3 #include 4 5 class implementation 6 { 7 pu...
分类:其他好文   时间:2014-07-01 18:58:19    阅读次数:261
【STL学习】智能指针之shared_ptr
前面已经学习过auto_ptr,这里补充另外一种智能指针,比auto_ptr要更强力更通用的shared_ptr。 shared_ptr 简介及使用选择 几乎所有的程序都需要某种形式的引用计数智能指针,这种指针让我们不再需要为两个对象或更多对象共享的对象的生命周期而编写复杂的逻辑(写起来有点绕口)....
分类:其他好文   时间:2014-07-01 13:25:27    阅读次数:217
现代C++学习笔记之一入门篇:智能指针(C++ 11)
原始指针:通过new建立的*指针智能指针:通过智能指针关键字(unique_ptr, shared_ptr ,weak_ptr)建立的指针在现代 C++ 编程中,标准库包含智能指针,该指针用于确保程序不存在内存和资源泄漏且是异常安全的。在现代 C++ 中,原始指针仅用于范围有限的小代码块、循环或者性...
分类:编程语言   时间:2014-06-30 13:49:42    阅读次数:354
再论C++之垃圾回收(GC)
本文已经迁移到: http://cpp.winxgui.com/cn:garbage-collection-in-cplusplus使用智能指针(smart pointers) http://www.codeproject.com/cpp/garbage_collect.asp 原理:基...
分类:编程语言   时间:2014-06-29 19:12:03    阅读次数:232
现代C++学习笔记之二入门篇1
现代 C++ 强调:基于堆栈的范围,而非堆或静态全局范围。自动类型推理,而非显式类型名称。智能指针而不是原始指针。std::string和std::wstring类型(请参见),而非原始char[]数组。标准模板库(STL) 容器(例如vector、list和map),而非原始数组或自定义容器。请参...
分类:编程语言   时间:2014-06-29 18:46:28    阅读次数:255
c++ RAII 资源管理就是初始化
RAII:(Resource Acquisition Is Initialization),也就是“资源获取就是初始化”,是C++语言的一种管理资源、避免泄漏的惯用法。C++标准保证任何情况下,已构造的对象最终会销毁,即它的析构函数最终会被调用。简单的说,RAII 的做法是使用一个对象,在其构造时获...
分类:编程语言   时间:2014-06-28 20:01:21    阅读次数:298
Boost智能指针-基础篇
简介 内存管理一直是 C++ 一个比较繁琐的问题,而智能指针却可以很好的解决这个问题,在初始化时就已经预定了删除,排解了后顾之忧。1998年修订的第一版C++标准只提供了一种智能指针:std::auto_ptr(现以废弃),它基本上就像是个普通的指针:通过地址来访问一个动态分配的对象。std::auto_ptr之所以被看作是智能指针,是因为它会在析构的时候调用delete操作符来自动释放所包...
分类:其他好文   时间:2014-06-26 12:07:31    阅读次数:328
第二讲 auto_ptr智能指针
// STL.cpp : 定义控制台应用程序的入口点。////智能指针在其生命周期结束后会自动调用delete#include "stdafx.h"#include#includeusing namespace std;class WebSite{public: WebSite(int x){...
分类:其他好文   时间:2014-06-25 20:09:38    阅读次数:216
914条   上一页 1 ... 86 87 88 89 90 ... 92 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!