摘要: C语言有一种实现可变参数的函数的方法就是使用占位符,使用的方法就是采用如下的方式定义函数void frees(int size, ...)。其余的地方和一般的函数定义是一样的只是第二个参数上使用了三个点,而没用采用一般的变量类型变量名的方式。只要采用这样的定义方式,便可以使用这个函数来处理可变变量。但是光有这个定义还是不够的,还需要借助如下俩个函数一个类型定义,实际上这些函数是通过宏来实现的。va_listva_start();va_arg();va_list,这是个类型定义,我们可以把它理解成一个指针,它指向第一个参数的地址。如果,我们这样定义: va_list ap;则ap就是这样一种变. 阅读全文
posted @ 2014-01-14 16:48 刘俊鹏123 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 最初关注海量处理方面是因为好久以前在西安交大BBS算法版上看到一个牛人总结的帖子,收集了起来,后来发现网上铺天盖地地转载过,那个帖子提供了一些解决问题很好的思路,所以就零碎地整理过海量数据处理方面的一些方法,但终归没有深入并做一个稍微细致的思考,从这篇博文开始,希望能坚持整理出来。下面一道面试题是以前大雄考过我的,据说是那时一些公司常问的类型题目,这里回顾并总结一下,欢迎大家讨论并提出问题。题目:一个10G的关键词的log,找出词频最高的前K个词,设可用内存为2G左右分析:本题的难点主要有两处,一是如何在有限内存下对大文件进行词频统计;二是如何在有限内存的下找出词频的前K大个词。词频统计词频统 阅读全文
posted @ 2014-01-14 16:47 刘俊鹏123 阅读(625) 评论(0) 推荐(0) 编辑
摘要: 1、C/C++中逗号','用于一个表达式中分割多个子操作,最后一个子操作的结果作为整个表达式的值。例如windows中关于assert宏的定义:#define assert(exp) (void)( (exp) || (_assert(#exp, __FILE__, __LINE__), 0) )如果exp为真(约定用1表示真,0表示假),则整个assert的结果是(void)1,否则整个assert表达式的最终结果是(void)0。2、另一个常见于for语句中:for(int i=1,j=i+1; i<10; i++,j=2*i){ cout<<" 阅读全文
posted @ 2014-01-14 16:46 刘俊鹏123 阅读(569) 评论(0) 推荐(0) 编辑
重生之大文豪