imxiangzi的专栏

不炼金丹不坐禅, 不为商贾不耕田. 闲来写就青山卖, 不使人间造业钱.

排序:
默认
按更新时间
按访问量

C++中智能指针的设计和使用

转载请标明出处,原文地址:http://blog.csdn.net/hackbuteer1/article/details/7561235      智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它...

2016-03-10 11:44:42

阅读数:274

评论数:0

智能指针(三):unique_ptr使用简介

我们知道auto_ptr通过复制构造或者通过=赋值后,原来的auto_ptr对象就报废了.所有权转移到新的对象中去了.而通过shared_ptr可以让多个智能指针对象同时拥有某一块内存的访问权.但假如我们不希望多个内存块被多个智能指针对象共享,同时又不会像auto_ptr那样不知不觉的就让原来的a...

2016-03-09 13:27:20

阅读数:245

评论数:0

智能指针(二):shared_ptr实现原理

前面讲到auto_ptr有个很大的缺陷就是所有权的转移,就是一个对象的内存块只能被一个智能指针对象所拥有.但我们有些时候希望共用那个内存块.于是C++ 11标准中有了shared_ptr这样的智能指针,顾名思义,有个shared表明共享嘛.所以shared_ptr类型的智能指针可以做为STL容器的...

2016-03-09 13:26:45

阅读数:229

评论数:0

智能指针(一):STL auto_ptr实现原理

智能指针实际上是一个类(class),里面封装了一个指针.它的用处是啥呢? 指针与内存 说到指针自然涉及到内存.我们如果是在堆栈(stack)中分配了内存,用完后由系统去负责释放.如果是自定义类型,就会自动的去调用你的析构函数. 但如果是在堆(heap)中分配了内存,也就是用ma...

2016-03-09 13:26:19

阅读数:256

评论数:0

std::auto_ptr 官网例子

1.std::auto_ptr::auto_ptr //auto_ptr example #include #include int main () { std::auto_ptrint> p1 (new int); *p1.get()=10; std::auto...

2016-03-09 13:16:11

阅读数:818

评论数:0

理解smart pointer之一(auto_ptr介绍)

a smart pointer is an abstract data type that simulates a pointer while providing additional features, such as automatic garbage collection or bounds...

2016-03-09 13:13:43

阅读数:322

评论数:0

auto_ptr 代码及缺陷

uto_ptr是C++标准库里的类,它接受一个类型形参的模板,为动态分配的对象提供异常安全。其实,它的核心思想是:用一个对象存储需要被自动释放的资源,然后依靠对象的析构函数来释放资源,这是《More Effective C++》中的解释。下面给出它的一个简单实现,摘自《More Effective...

2016-03-09 13:13:00

阅读数:307

评论数:0

智能指针auto_prt的使用(c++学习笔记)

c++中如果要申请资源一般用到new,最后释放资源delete,如果我们在delete之前就退出了函数呢,看下面的代码: [cpp] view plain copy #include    //#include    using namespac...

2016-03-09 13:08:57

阅读数:916

评论数:0

【C++11】新特性——auto的使用

C++11中引入的auto主要有两种用途:自动类型推断和返回值占位。auto在C++98中的标识临时变量的语义,由于使用极少且多余,在C++11中已被删除。前后两个标准的auto,完全是两个概念。 1. 自动类型推断     auto自动类型推断,用于从初始化表达式中推断出变量的数据类...

2016-03-09 12:59:07

阅读数:336

评论数:0

static_cast与dynamic_cast转换

一 C语言中存在着两种类型转换: 隐式转换和显式转换 隐式转换:不同数据类型之间赋值和运算,函数调用传递参数……编译器完成 char ch;int i = ch; 显示转换:在类型前增加 :(Type)变量 对变量进行的转换。用户显式增加 char *pc = (...

2016-03-05 10:19:54

阅读数:432

评论数:0

static_cast、dynamic_cast、const_cast和reinterpret_cast总结

前言 这篇文章总结的是C++中的类型转换,这些小的知识点,有的时候,自己不是很注意,但是在实际开发中确实经常使用的。俗话说的好,不懂自己写的代码的程序员,不是好的程序员;如果一个程序员对于自己写的代码都不懂,只是知道一昧的的去使用,终有一天,你会迷失你自己的。 C++中的类型转换分...

2016-03-05 10:18:57

阅读数:253

评论数:0

C++类型向上转换的一种形式

C++类型向上转换的一种形式 http://blog.csdn.net/gukesdo/article/details/7268476   C++中的向上类型转换和向下类型转换 http://blog.csdn.net/wangweitingaabbcc...

2016-01-31 23:46:38

阅读数:245

评论数:0

一个隐式类型转换引起的重载函数二义性错误

介绍因为隐式类型转换而引起的一个非常隐晦的错误 下述代码的目的是设计一个简单的类A,希望A的对象在标准输出和文件输出时的表现不同 [cpp] view plaincopy #include    #include    using namespace std;   cla...

2015-10-15 13:11:07

阅读数:477

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭