上一页 1 2 3 4 5 6 7 8 9 ··· 52 下一页
摘要: 结果: 首先看上述的代码,print函数是带有默认参数的。 所以调用print(), print(-1)都可以准确的输出。 这种默认参数的情况会带来有些便利。(比如初始化一个商品对象,在99%的情况在都是正常的,那么这个商品是否正常的标记就可以默认为1,特殊的1%情况,再加上) 但是有以下三个要注意 阅读全文
posted @ 2017-08-20 16:18 chenhuan001 阅读(14836) 评论(1) 推荐(2) 编辑
摘要: 空类默认会产生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) 编辑
摘要: 如何快速的求一个数二进制表示时1的个数呢。 除了用n&(n-1)外,还可以用下面的这种方法。 1. 最开始把相邻奇数位和偶数位相加 2. 然后相邻4位相加,相邻8为相加,相邻16为的相加。得到最后1的个数。 这种做法的复杂度的是log(位数) 阅读全文
posted @ 2017-08-16 17:50 chenhuan001 阅读(231) 评论(0) 推荐(0) 编辑
摘要: from here 阅读全文
posted @ 2017-08-16 15:08 chenhuan001 阅读(5774) 评论(0) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2017-08-14 15:29 chenhuan001 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 原文地址:find中的-print0和xargs中-0的奥妙作者:改变自己 默认情况下, find 每输出一个文件名, 后面都会接着输出一个换行符 ('n'), 因此我们看到的 find 的输出都是一行一行的: [bash-4.1.5] ; ls -l total 0 -rw-r--r-- 1 ro 阅读全文
posted @ 2017-08-12 13:16 chenhuan001 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 以下命令是平时经常用到的命令。 而且这些用法也是很常见的用法。 1. 将当前目录下的所有.c、.h文件中的str1字符串替换为str2字符串。 阅读全文
posted @ 2017-08-10 12:52 chenhuan001 阅读(210) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 52 下一页