会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
forxtz
博客园
首页
新随笔
联系
管理
订阅
上一页
1
···
4
5
6
7
8
9
10
下一页
2015年9月24日
C++ 单例模式
摘要: 有两种模式:懒汉模式:第一次使用的时候才初始化,需要手动实现线程安全。恶汉模式:程序一开始就初始化,这个可以自动实现线程安全。原理都是:把构造函数设置为私有,添加一个私有的静态成员指针变量,添加一个public getInstance方法获取指针来使用。比较常遇到的问题,就是,使用普通指针的话,需要...
阅读全文
posted @ 2015-09-24 10:19 forxtz
阅读(310)
评论(0)
推荐(0)
2015年9月23日
C++ 实现可变参数
摘要: 一般形式都是 type func(char * formatstr,...);然后通过已有的参数 formatsrr 来推出,后面的参数。这样写起来的话,就要匹配所有的基本类型,C++提供了3个宏和算法可以简单处理。这样,通过vsprintf_s就格式化到buf中。#include #include...
阅读全文
posted @ 2015-09-23 15:41 forxtz
阅读(683)
评论(0)
推荐(0)
2015年9月22日
在文件IO操作中,合理使用缓存。
摘要: 最近在琢磨一个日志类,然后就想到,如果处于一个频繁写日志的状态,那么IO操作会不会引起瓶颈呢。于是就做了一个测试。有一个4000容量的字符数组,比较一个一个写,和一次性写所花的时间,执行200次。结果显示,一个一个写的话,时间需要 617.426s 一次性一次性的写的话,时间需要0.131s...
阅读全文
posted @ 2015-09-22 18:24 forxtz
阅读(238)
评论(0)
推荐(0)
2015年9月16日
求一个数的临近的较大的2的整数次幂
摘要: 被面试官问了这么一道题..........一问,想到,左移就好了。就会很自然的写下这种方法unsigned int f2(unsigned int val){ int retval = 1; while (retval >1; val |= val>>2; ...
阅读全文
posted @ 2015-09-16 19:52 forxtz
阅读(302)
评论(0)
推荐(0)
2015年9月15日
vector list deque 的异同
摘要: vector优异效率的秘诀之一,就是分配出“较其容纳的元素”更多的内存。Deque 与 vector 相比,功能上的差异如下:· 两端都能快速安插元素和移除元素(vector 只在尾端能这样)。· 访问元素的时候比vector慢一点,多了个间接的过程。· deque 不支持对容量和内存重新分配时机的...
阅读全文
posted @ 2015-09-15 10:04 forxtz
阅读(164)
评论(0)
推荐(0)
std::vector扩容机制,.按1.5倍取整扩容,如下。
摘要: #include #include using namespace std;/* * 结论: * capacity = 1, newcapacity = 2; * capacity > 1, newcapacity = (int)(capacity * 1.5); */int main(){ ...
阅读全文
posted @ 2015-09-15 09:22 forxtz
阅读(1387)
评论(0)
推荐(0)
2015年9月13日
C++11正则表达式 ECMAScript文法
摘要: 突然想写个爬虫,然后发现,如果有正则表达式,会方便些。C++11提供了Regex类.可以用来完成:1.Match: 将整个输入拿来比对(匹配)某个正则表达式。2.Search:查找“与正则表达式吻合”的子序列。3.Tokenize:正则表达式作为分割器,得到分割器之前的字符串。4.Replace:将...
阅读全文
posted @ 2015-09-13 10:12 forxtz
阅读(3628)
评论(0)
推荐(4)
2015年9月10日
将2N个整数分成两组,每组有N个数,并且满足,这两组的差的绝对值最小。
摘要: 有人提议说模拟 背包算法....背包算法大概可以表示为给你一个包,然后你让这个包尽可能的有价值,对应的就是,这个包的大小就是 sum(c)/2 (这样就可以让他们的绝对值最小),然后问题来了,这个算法只会视价值来分配,不会执着于时候分成两半........但是,他的解决思维还是可以借鉴的:背包算法说...
阅读全文
posted @ 2015-09-10 20:59 forxtz
阅读(929)
评论(0)
推荐(0)
2015年9月9日
sort 升序还是降序?priority_queue 大根堆还是小根堆?
摘要: 总会忘记,如果写一个比较函数 left right; 则排序是降序。priority_queue 是小根堆。std::sort 底层是用快排+堆排+插入(分情况选择用什么排序)实现,平均复杂度为 Nlog(N);class testless{public: bool operator ()(...
阅读全文
posted @ 2015-09-09 14:47 forxtz
阅读(4325)
评论(0)
推荐(0)
2015年9月7日
生成N位格雷码
摘要: 格雷码的定义:相邻的编码,二进制只有1位不同,这样可以防止冲突,数字逻辑的。第一种 ---------------------- 按生成规律格雷码产生的规律是:第一步,改变最右边的位元值;第二步,改变右起第一个为1的位元的左边位元;第三步,第四步重复第一步和第二步,直到所有的格雷码产生完毕(换句话说...
阅读全文
posted @ 2015-09-07 14:35 forxtz
阅读(838)
评论(0)
推荐(0)
上一页
1
···
4
5
6
7
8
9
10
下一页
公告