摘要:
一、简介由于C++语言没有自动内存回收机制,程序员每次new出来的内存都要手动delete。程序员忘记delete,流程太复杂,最终导致没有delete,异常导致程序过早退出,没有执行delete的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_ptr、boost::shared_ptr、boost::scoped_array、boost::shared_array、boost::weak_ptr、boost::intrusive_ptr。你可能会想,如此多的智能指针就为了解决new、delete匹 阅读全文
posted @ 2012-04-19 18:12
笑笑小白
阅读(429)
评论(0)
推荐(0)
摘要:
Solmyr 的小品文系列之五:垃圾收集 转自pchome午餐时间。zero 坐在餐桌前,机械的重复“夹菜 -> 咀嚼 -> 吞咽”的动作序列,脸上用无形的大字写着:我心不在焉。在他的对面坐着 Solmyr ,慢条斯理的吃着他那份午餐,维持着他一贯很有修养的形象 ——— 或者按照 zero 这些熟悉他本质的人的说法:假象。“怎么了 zero ?胃口不好么?”,基本填饱肚子之后,Solmyr 觉得似乎应该关心一下他的学徒了。“呃,没什么,只是 …… Solmyr ,C++ 为什么不支持垃圾收集呢?(注:垃圾收集是一种机制,保证动态分配了的内存块会自动释放,Java 等语言支持这一机制 阅读全文
posted @ 2012-04-19 18:09
笑笑小白
阅读(329)
评论(0)
推荐(1)
摘要:
当类中有指针成员时,一般有两种方式来管理指针成员:一是采用值型的方式管理,每个类对象都保留一份指针指向的对象的拷贝;另一种更优雅的方式是使用智能指针,从而实现指针指向的对象的共享。 智能指针(smart pointer)的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针。 每次创建类的新对象时,初始化指针并将引用计数置为1;当对象作为另一对象的副本而创建时,拷贝构造函数拷贝指针并增加与之相应的引用计数;对一个对象进行赋值时,赋值操作符减少左操作数所指对象的引用计数(如果引用计数为减至0... 阅读全文
posted @ 2012-04-19 17:42
笑笑小白
阅读(1262)
评论(0)
推荐(0)
摘要:
一、指针指针能做什么在编写C++程序的时候,让我们最头痛的问题就是内存泄露,也就是说:int* pt = new int;delete pt;必须保证new和delete必须成对出现。作为程序员,我们最理想的指针,是可以像使用普通变量一样来使用的指针,这个指针可以在恰当的时候被自动释放。智能指针就是这样的一个指针,它的任务是要保证每一个被动态分配的内存块都能够被释放。就像我们在写handle = CreateSession(...);和CloseSession(handle);的时候,因为要保证这两者成对出现,我们习惯的做法是将其分别放在一个类的构造和析构函数当中。这样,就能保证每一个Crea 阅读全文
posted @ 2012-04-19 16:02
笑笑小白
阅读(268)
评论(0)
推荐(0)
摘要:
这篇文章主要介绍 boost中的智能指针的使用。 内存管理是一个比较繁琐的问题,C++中有两个实现方案: 垃圾回收机制和智能指针。垃圾回收机制因为性能等原因不被C++的大佬们推崇, 而智能指针被认为是解决C++内存问题的最优方案。1. 定义 一个智能指针就是一个C++的对象, 这对象的行为像一个指针,但是它却可以在其不需要的时候自动删除。注意这个“其不需要的时候”, 这可不是一个精确的定义。这个不需要的时候可以指好多方面:局部变量退出函数作用域、类的对象被析构……。所以boost定义了多个不同的智能指针来管理不同的场景。shared_ptr<T>内部维护一个引用计数器来判断此指针是 阅读全文
posted @ 2012-04-19 15:59
笑笑小白
阅读(807)
评论(0)
推荐(0)
摘要:
位操作篇共分为基础篇和提高篇,基础篇主要对位操作进行全面总结,帮助大家梳理知识。提高篇则针对各大IT公司如微软、腾讯、百度、360等公司的笔试面试题作详细的解答,使大家能熟练应对在笔试面试中位操作题目。下面就先来对位操作作个全面总结,欢迎大家补充。在计算机中所有数据都是以二进制的形式储存的。位运算其实就是直接对在内存中的二进制数据进行操作,因此处理数据的速度非常快。在实际编程中,如果能巧妙运用位操作,完全可以达到四两拨千斤的效果,正因为位操作的这些优点,所以位操作在各大IT公司的笔试面试中一直是个热点问题。因此本文将对位操作进行如下方面总结:一.位操作基础,用一张表描述位操作符的应用规则并详细 阅读全文
posted @ 2012-04-19 12:17
笑笑小白
阅读(474)
评论(0)
推荐(0)
摘要:
本文转自http://blog.csdn.net/yincheng01/article/details/5781840一个男人在外工作20年,终于要回家了,老板问他:你是要20年的工资还是要3句忠告?男人说我明天上路,明早给您答案好吗?老板说可以。当晚男人未眠…早晨,他对老板说:我要3个忠告。于是老板给他3句话。一、不要试图寻找不可能的捷径,世上没有便宜的事,只有脚踏实地才是最好的方法…无论做何事。二、不要对明知不是好事的事过分好奇,有可能你会因此而丧命。三、不要在冲动时做任何决定,否则这个决定就有可能成为你一辈子的遗憾。说完老板给男人一些钱和三个面包,并叮嘱:最大的面包在到家后才能吃。男人上 阅读全文
posted @ 2012-04-19 11:27
笑笑小白
阅读(580)
评论(0)
推荐(0)

浙公网安备 33010602011771号