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