- 博客(15)
- 资源 (5)
- 收藏
- 关注
转载 boost::enable_shared_from_this的部分实现研究
shared_ptr是boost库实现的几个智能指针中最重要的,其使用引用计数机制来管理资源。如果一个类由shared_ptr管理,而在这个类的某个方法又需要传出一个指向自身的指针,那么这个指针也必须被shared_ptr所管理。 boost库的实现方法为让被管理类继承boost::enable_shared_from_this类,此后通过shared_from_this函数获得指向自身的sh
2011-11-30 17:23:41 1904 1
转载 UML学习基础
UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalization),实现(Realization)等。 依赖 (Dependency):元素A的变化会影响元素B,但反之不成立,那么B和A的关系是依赖关系,B依赖A;类属关系和实现关系在语义上讲也是依赖关
2011-11-30 15:28:38 447
转载 回调函数
1 什么是回调软件模块之间总是存在着一定的接口,从调用方式上,可以把他们分为三类:同步调用、回调和异步调用。同步调用是一种阻塞式调用,调用方要等待对方执行完毕才返回,它是一种单向调用;回调是一种双向调用模式,也就是说,被调用方在接口被调用时也会调用对方的接口;异步调用是一种类似消息或事件的机制,不过它的调用方向刚好相反,接口的服务在收到某种讯息或发生某种事件时,会主动通知客户方(即调用客户方的
2011-11-16 16:35:08 405
转载 Windows的DLL基础
Windows中三个最重要的DLL分别是:# Kernel32.dll,包含的函数用来管理内存、进程以及线程;# User32.dll,包含的函数用来执行与用户界面相关的任务;# GDI32.dll,包含的函数用来绘制图像和显示文字。其他重要的DLL:# AdvAPI32.dll,包含的函数与对象的安全性、注册表的操控以及事件日志有关;# ComDl
2011-11-14 12:20:48 467
转载 shared_ptr源码解读
1 介绍众所周知,auto_ptr由于它的破坏性复制语义,无法满足标准容器对元素的要求,因而不能放在标准容器中;如果我们希望当容器析构时能自动把它容纳的指针元素所指的对象删除时,通常采用一些间接的方式来实现,显得比较繁琐。boost库中提供了一种新型的智能指针shared_ptr,它解决了在多个指针间共享对象所有权的问题,同时也满足容器对元素的要求,因而可以安全地放入容器中。
2011-11-14 12:18:39 602 1
转载 MakeFile
目的: 基本掌握了 make 的用法,能在Linux系统上编程。 环境: Linux系统,或者有一台Linux服务器,通过终端连接。一句话:有Linux编译环境。 准备: 准备三个文件:file1.c, file2.c, file2.h
2011-11-14 12:17:37 465
转载 开放源码 C/C++ 单元测试工具,第 1 部分: 了解 Boost 单元测试框架
什么是单元测试?复杂的 C/C++ 代码中很可能有 bug,到代码编写完成之后再来测试就像大海捞针。比较谨慎的办法是,在编写各个代码段时,针对特定的区域(例如,一些包含大量计算的 C 函数或声明队列等数据结构的 C++ 类),添加专门的小测试(单元测试),以在编写代码的同时进行测试。按这种方式构建的回归测试套件包含一套单元测试和一个测试驱动程序,这个程序运行测试并报告结果。
2011-11-14 12:16:23 709
转载 C++ 模板基础谈
1. 什么是模板模板定义:模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数,从而实现了真正的代码可重用性。我们知道,C++ 是一种“强类型”的语言,也就是说一个变量,编译器必须确切的知道它的类型,而模板就是构建在这个强类型语言基础上的泛型系统。2. 模板的语法模板函数template{函数定义}模板类templateclass
2011-11-14 12:14:14 364
转载 IT人员迅速提升自我效率的十大方法
所谓,时间就是金钱,效率也意味着时间。高效的工作方式可以为我们赢得更多成功的机遇。如何实现高效工作呢?Zielix创始人、Ingiter Frameworks的创建者Wayne Harrel发表了一篇博文《Top 10 ways to dramatically increase your personal productivity》,为我们介绍了迅速提升自我效率的十大方法。现CSDN对本文进行
2011-11-14 12:01:13 465
转载 C++编程杂谈之UML
UML对很多人来说应该不是一个陌生的概念,这一两年来,UML被大家越来越多的讨论着。本来UML跟我这个主题似乎并不能扯上多大的关系(它是语言无关的,甚至可以说其本身就是一种语言——用于交流的)。我在此谈到它有两个目的:1. UML是针对面向对象软件开发的,而C++正是这样的一种语言2. UML在设计中被越来越多的使用着,而下一篇杂谈准备讨论设计模式,如果不了解UML,那么无法进行下去
2011-11-14 11:48:03 525
转载 在linux下编译boost库
编译环境 操作系统:SUSE linux Enterprise Server 10 64-bit 编译工具:gcc 4.1.2 1.下载boost1.36 2.解压boost到/usr/share 3.在命令行运行/usr/share/boost_1_36_0/tools/jam/src/build.sh生成bjam 4.复制/usr/share/boost_1
2011-11-07 11:16:37 836
转载 codeblocks+wxwidgets+boost搭建c++开发平台步骤
windows下编译wxwidgets、boost并加入到codeblocks路径中去 (visual c++ 2008/mingw32)编译wxwidgets1、到官网下载源码包(MSW),安装到 X:\wxwidgets-x.x.xxx2、安装visual c++ express 2008或者安装mingw32(建议到下载http://tdm-gcc.tdragon.
2011-11-07 11:14:34 974
转载 codeblocks+wxwidgets+boost搭建c++开发平台步骤||如何在CodeBlock中添加boost库文件
windows下编译wxwidgets、boost并加入到codeblocks路径中去 (visual c++ 2008/mingw32)编译wxwidgets1、到官网下载源码包(MSW),安装到 X:\wxwidgets-x.x.xxx2、安装visual c++ express 2008或者安装mingw32(建议到下载http://tdm-gcc.tdragon.net/,会
2011-11-02 18:20:15 3866
原创 VS2008下安装boost
由于经常在开发C++的程序中都需要使用到正则表达式,而且也一直想学习一下Boost这个优秀的C++库,OK,今天就介绍一下在 VS2008下安装boost。可以上boost的网站去下载,推荐使用那个程序下载,速度很快,下载完一窥,boost居然有1G多,差点把我吓死。由于第一次使用,不知道要如何配置,因此从网络中搜罗很多,把最终的步骤给记下,以便后人之用... 1、下载后的目录:E:\P
2011-11-02 17:31:18 772
转载 搭建Ubuntu下c/c++编译环境(转)
搭建Ubuntu下c/c++编译环境1. 安装Ubuntu。2. 安装gcc 方法一: sudoapt-get install build-essential 安装完了可以执行 gcc--version的命令来查看版本,输出如下: g
2011-11-01 14:35:46 42952 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人