08 2012 档案
摘要:网上的一道指针面试题,分析程序输出结果! 程序一: 1: int main ( ) 2: { 3: char *str[]={"welcome","to","fortemedia","Nanjing"}; 4: char * * p=str+1; //p存储 "to"字符串地址的地址,即&str[1] 5: 6: ...
阅读全文
摘要:生产者与消费者问题:有限缓冲前提;信号量mutex提供了对有限缓冲区互斥访问要求,初始化为0;信号量empty和full分别用来表示当前空缓冲区数量和满缓冲区数量。empty初始化为n,full初始化为0; 生产者代码: 1: do{2: produce an item in the current loop3: wait(empty);//查询缓冲区是否...
阅读全文
摘要:Hashtable在C++的STL里占据着比较重要的一席之地。其中的hash_set、hash_map、hash_multiset、hash_multimap四个关联容器都是以hashtable为底层实现方法(技巧)。应该说,上述的四个关联式容器提供的api都是对hashtable原生态api的高层封装,因为hashtable本身都提供了它们所需要的基础api。接下来,说说自己对hashtabl...
阅读全文
摘要:copy()算法可将输入区间[first,last)内的元素复制到输出区间[result,result+(last-first))内。也就是说,它会执行赋值操作,即:*result=*first,*(result+1)=*(first+1),...依此类推。 而无论在客户端还是针对stl内部实现而言,copy()都是一个常常被调用的函数。由于copy()进行的是复制操作,而复制操作不外乎运用as...
阅读全文
摘要:关于点是否在三角形内(落在边线上亦可)问题的解法,大体有两种: 1、根据面积来求解: 当点D落于三角形内时,图1所示,则由D与A,B,C三个顶点所组成的三个三角形面积之和即为外围三角形面积:S(ABC)=S(ABD)+S(BCD)+S(ACD) 当点D落于三角形外时,图2所示,则由D与A,B,C三个顶点所组成的三个三角形面积之和应该大于原三角形面积之和,多出了面积S(ACD):S(ABC)<S(A...
阅读全文
摘要:有一个桶,里面有白球、黑球各100个,人们必须按照以下规则把球取出来: 每次从桶里面拿两个球 如果是两个同色的球,就再放入一个黑球; 如果是两个异色的球,就再放入一个白球。 问题是:最后桶里面只剩下一个黑球的概率是多少? 针对这样一个问题,我们有两种不一样的解法: 方法一: 首先,我们可以通过相应的数学式来建立与上述三个条件等同的表达方式。在这里,我们可以使用集合的概念来表示,如(...
阅读全文
摘要:众所周知,JUnit在java言阵营中测试框架普及率始终居于领先的位置,甚至可以说是最受欢迎的基础测试框架。随着JUnit4的推出,更是大大简化了广大测试人员在编写日常基础测试api的工作量。JUnit4放弃了过去严格的命名规范和继承层次,转而推崇java 5注释的灵活性借助Java 5注释,JUnit4比以前更轻、也更更灵活,下面是一份关于JUnit4新功能的快速列表: 参数测试 异常测试...
阅读全文