C++内存管理之自动化的资源回收(RAII)
资源回收一直是写C++代码时需要考虑的重点内容之一.比如在出口点较多的函数中,若不使用一些技巧,仅靠机械的手动方式管理资源,往往会导致资源管理的代码与实际的函数逻辑相互纠缠.这样的代码不仅容易出错,维护起来也颇为头疼.
资源回收一直是写C++代码时需要考虑的重点内容之一.比如在出口点较多的函数中,若不使用一些技巧,仅靠机械的手动方式管理资源,往往会导致资源管理的代码与实际的函数逻辑相互纠缠.这样的代码不仅容易出错,维护起来也颇为头疼.
很多时候,我们需要对一个已有的类做接口上的调整,如新的业务需要对已有的业务进行组合,或者新的模块需要使用现有的功能却不接收现有接口的调用形式... 在这种时候,我们需要有种可以将两套完全不同的接口标准统一的方法.适配器模式就是...
当我们需要创建一种类型的对象时,可以用工厂模式;当对象的局部容易发生变化时,我们有建造者模式.但当我们有大量的对象类型,或者对象类型不易知道时,我们如何根据已有的一个对象快速构建新的对象呢? 我们需要一个可以封装掉不同种类对...
下文内容较旧,最新的相关文章请参看:高斯模糊算法的实现和优化 高斯模糊算法的基本原理,是利用一个基于正态分布特征权重的矩阵,对图像中每个像素区域进行采样,并做卷积运算;之后将得到的结果赋值给采样区域的中心点像素. 这样每个...
一,选择题(皆为单选): 1,以下谁是二进制思想的最早提出者? a,伏羲;b,姬昌;c,莱布尼茨;d,柏拉图。 2,以下哪个概念和公孙龙的《指物论》中的“指”字含义相近? a,变量;b,数组;c,对象;d,指针。 3,蔺相如,司马相如...
我们可能会遇到这种情况,比如一个配置文件读取模块,它由几个小模块组成,每个小模块负责读取一种类型的配置.我们读取配置的顺序和过程是固定的,但是每个配置类型可能会因为业务的需求发生很多变化. 这个过程和造房子有点像.每栋楼的建...
设计模式作为一组抽象的设计思想,肯定有一些基本的原则.否则的话,任何设计都可以称之为"良好设计"的一种了. 在设计模式中,也有整体"不允许"和"需要遵循"的方方面面.只要遵循了下面这些基本思想,写出来的设计往往都是很优秀的设计.
工厂模式一般是学习设计模式的第一课,它本身也是创建型模式中较为常用的一种模式. 工厂模式希望解决的是"如何高效而方便的创建当前需要的对象"的问题.当一个对象对外提供的接口稳定,而这类对象的具体实现容易发生变化时,我们可以考虑...
线程操作比较多也比较繁杂,线程创建之后就一直是一个活动的对象,管理起来也比较麻烦(尤其是在多线程同步的时候). 下面简单总结一下多线程中的各种操作和概念.
前阵子一直使用http://fayaa.com/code/new/这个在线的代码HTML高亮工具,用起来总是不顺手.试用了几个代码高亮插件以后,还是觉得Syntax Highlighter ComPress用起来最舒坦.