
C/C++
文章平均质量分 71
nullptr_
技术成就梦想
展开
-
apue程序清单10_6中信号处理程序提早终止的问题
在apue10.10节中,sleep2函数为避免alarm和pause之间的竞争条件,使用了setjmp和longjmp,原始实现如下:#include #include static voidsig_alrm(int signo){ /* nothing to do, just return to wake up the pause */}unsigned intslee原创 2013-11-24 10:40:37 · 1060 阅读 · 0 评论 -
C++开源项目
入门级:Ptypes Ptypes一个开源轻量级的c++库,包括对一些I/O操作、网络通信、多线程和异常处理的封装。虽然代码有限,包括的内容不少,麻雀虽小,五脏俱全。 提高:STL Boost和STL ACE Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中转载 2014-09-09 22:47:20 · 479 阅读 · 0 评论 -
virtual base class的问题
虚拟继承的实现机制原创 2014-07-27 15:46:08 · 821 阅读 · 0 评论 -
LeetCode_Word Ladder
原题:Given two words (start and end), and a dictionary, find the length of shortest transformation sequence from start to end, such that:Only one letter can be changed at a timeEach intermedia原创 2014-08-01 00:40:31 · 531 阅读 · 0 评论 -
LeetCode__Surrounded Regions
问题描述:Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'.A region is captured by flipping all 'O's into 'X's in that surrounded region.For example,X X X XX O O XX X原创 2014-05-10 20:33:00 · 444 阅读 · 0 评论 -
vector做函数参数
今天做一个题目:输入一个数组原创 2014-04-13 00:38:46 · 1872 阅读 · 1 评论 -
如何得知某段代码的运行时间
之前,我的同学问了我一个算法题,由于这个题是要通过提交代码然后在线测试的,有运行时间的限制。我想应该有办法把某段代码的运行时间计算出来,当然现在某些IDE(集成开发环境)已经提供了这个功能,但是我猜它只是计算进程开始至结束的时间,如果我们需要更精确,精确到某段代码的运行时间的话,我们可以在代码中加入相应的代码就可以得到这个运行时间了。很多时候可以用于比较两(几)个算法的效率。转载 2014-04-16 19:54:45 · 1029 阅读 · 0 评论 -
快速排序遇到的问题
好久没有复习一些基础知识了,正好要找实习了,就想复习一下一些基础的算法。想自己把这些简单算法实现一下,没想到首先在快排这儿遇到问题了。刚开始我的快排代码是这样的:void swap(int &a, int &b){ int temp = a; a = b; b = temp;}void QuickSort(int A[], int Left, int Right){ int原创 2014-03-18 22:55:15 · 1754 阅读 · 0 评论 -
C++异常处理初级出门+中级进阶
概述 今天听了项目组里的C++高手讲C++的异常,受益匪浅。果然,与高手一起才能学习到更多的东西。下面我就把这位高手介绍的C++异常处理分享给园子里的博友们。什么是异常呢? 在编程语言里,按照出现错误的时机来区分,有编译期错误和运行期错误之分。编译期错误大家肯定很熟悉了,当我们build一个程序时,console里出现的那些error提示就是编译期错误。这些转载 2014-04-30 09:06:46 · 428 阅读 · 0 评论 -
C++语言的15个晦涩特性
这个列表收集了 C++ 语言的一些晦涩(Obscure)特性,是我经年累月研究这门语言的各个方面收集起来的。C++非常庞大,我总是能学到一些新知识。即使你对C++已了如指掌,也希望你能从列表中学到一些东西。下面列举的特性,根据晦涩程度由浅入深进行排序。1. 方括号的真正含义2. 最烦人的解析3.替代运算标记符4. 重定义关键字5. Placement new6.在声明变量的同时进行分支7.转载 2013-12-30 08:40:25 · 567 阅读 · 0 评论 -
ubuntu调用pthread_create()函数时Undefined reference to 'pthread_create'的问题
在ubuntu平台下调用pthread_create()函数,用gcc编译时出现Undefined reference to 'pthread_create'的问题。代码中已经将pthread.h头文件包含进去了,还是没法通过,后来通过查找资料得知pthread库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,原创 2013-11-25 21:55:26 · 2195 阅读 · 0 评论 -
pthread_cleanup_push/pop
void pthread_cleanup_push(void (*routine)(void*), void *arg);void pthread_cleanup_pop(int execute);//这里的int参数,0是不执行push的内容,非0是执行。原型很简单,功能跟atexit()差不多,只不过一个是线程一个是进程。用来设置在push/pop内线程退出时要做的事情。转载 2013-11-26 09:44:25 · 692 阅读 · 0 评论 -
推荐 10 个 C 语言开源项目
1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz210552/webb转载 2014-10-28 23:53:49 · 774 阅读 · 0 评论