上一页 1 2 3 4 5 6 7 8 9 ··· 19 下一页
  2012年11月28日
摘要: weak_ptr 的使用方法及意义分类:C++ Boost 《超越STL》代码2010-12-24 13:26428人阅读评论(0)收藏举报//weak_ptr的用处//创建时使用 shared_ptr//使用是使用 weak_ptr//防止互相应用导致析构失败#include <cstdlib>#include <vector>#include <iostream>using namespace std;#include <boost/shared_ptr.hpp>#include <boost/weak_ptr.hpp>using 阅读全文
posted @ 2012-11-28 19:40 Simon Han 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 智能指针总结分类:通用编程技术2010-02-27 15:46131人阅读评论(0)收藏举报C++中没有垃圾回收,所有的内存都要自己管理,也就是说new 与 delete必须由程序员自己去一一对应起来。这个难免会出现这样那样的内存问题。在这种背景下,智能指针应运而生。智能指针的最终的目的是将一块内存交给一个托管对象,内存何时释放由托管对象来决定,而对对象的访问也使用托管对象来实现。这样子对象new完后就不需要显示的delete了,在它的生命周期结束后(也就是没有托管对象引用它的情况下)就可以自动被释放掉了。智能指针有些比较简单,如 std::auto_ptr , boost::scope_pt 阅读全文
posted @ 2012-11-28 18:55 Simon Han 阅读(1232) 评论(0) 推荐(0) 编辑
  2012年11月27日
摘要: 空悬指针(dangling pointers)2009-07-10 11:19366人阅读评论(0)收藏举报空悬指针在《Effective C++中文版》(侯捷译)的条款29(P128)简单的提到过。按我的理解,空悬指针(dangling pointers)是指指向一块已经删除了的内存的指针 举个例子: int* pa = new int; int* pb = pa; delete pa; //现在pb就成了空悬指针;或者在函数中返回了一个临时的指针char *GetMemory(void){ char p[]="hello,world"; return p;}... 阅读全文
posted @ 2012-11-27 18:44 Simon Han 阅读(234) 评论(0) 推荐(0) 编辑
摘要: C++ const变量使用技巧总结2010-02-02 14:06 佚名 博客园我要评论(1)字号:T|TC++ const变量在实际编程中起着非常重要的作用,当我们在声明时,需要对其加初始化,因为默认的内部连接都必须被初始化。AD:在C++编程语言中,还有很多比较高深的内容值得我们在学习和实践中不断的学习。在这篇文章中,我们将会为大家详细介绍有关C++ const变量的相关内容,希望能帮助大家轻松了解这方面知识。一、对于基本声明constintr=100;标准C++ const变量声明加初始化,因为默认内部连接所以必须被初始化,其作用域为此文件,编译器经过类型检查后直接用100在编译时替换。 阅读全文
posted @ 2012-11-27 18:24 Simon Han 阅读(369) 评论(0) 推荐(0) 编辑
  2012年11月24日
摘要: 多线程死锁问题前天俺们谈到了加锁,但是在使用加锁的同时又会带来一个问题,就是死锁。什么叫死锁?所谓死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。那么为什么会产生死锁呢?1.因为系统资源不足。2.进程运行推进的顺序不合适。3.资源分配不当。学过操作系统的朋友都知道:产生死锁的条件有四个:1.互斥条件:所谓互斥就是进程在某一时间内独占资源。2.请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。3.不剥夺条件:进程已获得资源,在末使用完之前,不能强行剥夺。4.循环等待条件:若干进程之间形成一种头尾相接的循环等 阅读全文
posted @ 2012-11-24 19:10 Simon Han 阅读(16587) 评论(8) 推荐(3) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 19 下一页