之前写拷贝构造函数的时候,以为参数为引用,不为值传递,仅仅是为了减少一次内存拷贝。然而今天看到一篇文章发现自己对拷贝构造的参数理解有误。 参数为引用,不为值传递是为了防止拷贝构造函数的无限递归,最终导致栈溢出。 下面来看一个例子: class test { public: test() { cout ...
分类:
编程语言 时间:
2016-11-28 20:31:05
阅读次数:
177
MicrosoftSQLServer堆栈溢出漏洞官网https://technet.microsoft.com/zh-cn/library/security/ms14-085.aspx下载对应SQLServer2008R2-KB2977320-x64补丁
分类:
数据库 时间:
2016-11-18 19:10:51
阅读次数:
270
封闭连通域的图像填充是个常见的算法,最近有机会接触到大图像的例子,做一下总结。 这类问题最基本的算法是种子填充。即先给出封闭区域内的一点,从这点出发搜索邻域,只要不到边界,就把相邻点纳入连通域,赋予填充色。边界的判断比较灵活,可以使用固定颜色,也可以用一定阈值的色彩容差,类似photoshop中的魔 ...
分类:
编程语言 时间:
2016-11-09 15:24:30
阅读次数:
175
序:一个文件夹下面有很多层的小文件,如何算出这个文件夹下面有多少文件?递归遍历,简单暴力,递归在一般情况确实是比较方便的解决方案,但是当文件夹深度多深,递归的反复调用会导致方法一直无法释放,造成jvm的栈溢出。那我们该怎么办? 原文和作者一起讨论:http://www.cnblogs.com/int ...
分类:
其他好文 时间:
2016-11-05 23:39:14
阅读次数:
170
2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少 3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈 帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导 ...
分类:
其他好文 时间:
2016-11-05 12:20:25
阅读次数:
106
函数 1.函数基本语法及特性 背景提要 现在老板让你写一个监控程序,监控服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警, 你掏空了所有的知识量,写出了以下代码 上面的代码实现了功能,但即使是邻居老王也看出了端倪,老王亲切的摸了下你家儿子的脸蛋,说,你这个重复代 ...
分类:
编程语言 时间:
2016-11-05 12:20:02
阅读次数:
330
序:一个文件夹下面有很多层的小文件,如何算出这个文件夹下面有多少文件?递归遍历,简单暴力,递归在一般情况确实是比较方便的解决方案,但是当文件夹深度多深,递归的反复调用会导致方法一直无法释放,造成jvm的栈溢出。那我们该怎么办? 原文和作者一起讨论:http://www.cnblogs.com/int ...
分类:
其他好文 时间:
2016-11-04 23:52:37
阅读次数:
208
情景: 在我使用Hibernate使用2个表【客户表,订单表】进行联表查询时,发生的StackOverflowError。 问题: 我两个实体类中都重写了toString()方法,并且相互调用了彼此,导致我println(客户)时,一直会相互调用彼此的toString()方法,导致栈溢出错误。 解决 ...
分类:
其他好文 时间:
2016-11-02 17:29:53
阅读次数:
239
背景:某一天不小心把基类函数写成了 虚函数virtual,子类override 重写时,有同事需要跳过父类执行祖父类的方法代码; 发现 T祖父类(self).**方法(),时异常。因为虚函数转型为祖父类时,是多态的形式,还是会执行本子类的方法,所有造成一种循环执行代码,造成栈溢出 ; 网上百度到宏哥 ...
分类:
其他好文 时间:
2016-10-28 15:33:54
阅读次数:
253
在竞赛中如果系统栈很小的话,过深的递归会让栈溢出,这个时候我们就要自己手写栈,将递归转化成手工栈。 方法其实也很简单。 基本思路上,我们就是用栈不断的pop,push。但是何时push,何时pop呢? 在《算法导论》上对深度优先遍历树的讲解中,在深度遍历中,会对每个节点进行染色,白色为没有被访问过; ...
分类:
其他好文 时间:
2016-10-25 13:43:32
阅读次数:
164