C与C++
扭曲45
说出去别人嗤之,开始做别人笑之。
继续做别人讥之,成功后别人仰之。
展开
-
C/C++中几种经典的垃圾回收算法 .
1.引用计数算法 引用计数(Reference Counting)算法是每个对象计算指向它的指针的数量,当有一个指针指向自己时计数值加1;当删除一个指向自己的指针时,计数值减1,如果计数值减为0,说明已经不存在指向该对象的指针了,所以它可以被安全的销毁了。可以很直观的用下面的图表示: 引用计数算法的优点在于内存管理的开销分布于整个应用程序运行期间,非常转载 2012-09-17 21:10:56 · 900 阅读 · 0 评论 -
C++中explicit关键字的作用
explicit用来防止由构造函数定义的隐式转换。 要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。 例如: class things { public: things(const std::string &name = ""): m_name(name),he转载 2012-12-05 11:44:07 · 1046 阅读 · 0 评论 -
从一段c程序的优化说起
今天一个朋友找到我,说他写了一个图像方面的c程序,效率不太理想,寻求我的帮忙,我乃热心之人,故答应之。下面是其代码段,大家共赏: 大致浏览了一下,有以下几个问题 1、函数没有对其输入值进行应有的判断,过于相信用户。 2、内部的for循环就是连续内存拷贝,对于逐位拷贝的方法过于缓慢 。 3、用了大量的乘法运算,效率过低 。 于是我修改了一下: 顿时感觉代码清晰多了,此处原创 2013-06-10 18:01:56 · 1778 阅读 · 10 评论