摘要: 空类默认会产生6个函数。 空类的大小为1,为了能有一个唯一的地址标识空类对应的对象。 阅读全文
posted @ 2017-08-19 17:28 chenhuan001 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 我们都知道C++中有三种创建对象的方法,如下: 第一种和第二种没什么区别,一个隐式调用,一个显式调用,两者都是在进程虚拟地址空间中的栈中分配内存,而第三种使用了new,在堆中分配了内存,而栈中内存的分配和释放是由系统管理,而堆中内存的分配和释放必须由程序员手动释放,所以这就产生一个问题是把对象放在栈 阅读全文
posted @ 2017-08-19 15:34 chenhuan001 阅读(449) 评论(0) 推荐(0) 编辑
摘要: //TO DO 1. std::auto_ptr源码分析 上述源码很清晰的说明了auto_ptr的原理。 auto_ptr是在普通的指针上封装了一层,用于管理指针。 构造时传入一个指针,析构是将这个指针delete。 在进行赋值,或者函数参数传递的过程中。会立即把自身保存的指针release掉。 而 阅读全文
posted @ 2017-08-19 12:11 chenhuan001 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 剑指offe第19题,很经典。 如果不用递归的思维做,会很麻烦。 因为对于.*、*.、*..等一些特殊情况处理会非常麻烦。 所以采用递归的思路。(如果加上的动态规划思想,记录dp[m][n]表示str + m与pattern + n是否能正确匹配。就可以把复杂度控制在O(n*n)。 阅读全文
posted @ 2017-08-19 10:04 chenhuan001 阅读(199) 评论(0) 推荐(0) 编辑