上一页 1 2 3 4 5 6 7 8 ··· 29 下一页
摘要: 摘自:http://zhidao.baidu.com/question/32424351.html虚函数联系到多态,多态联系到继承。所以本文中都是在继承层次上做文章。没了继承,什么都没得谈。下面是对C++的虚函数这玩意儿的理解。一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始)简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异而采用不同的策略。下面来看一段简单的代码class A{ p... 阅读全文
posted @ 2013-06-21 01:38 Leo Forest 阅读(489) 评论(0) 推荐(0) 编辑
摘要: 原文:http://blog.csdn.net/hairetz/article/details/4281931/很想写点关于多进程和多线程的东西,我确实很爱他们。但是每每想动手写点关于他们的东西,却总是求全心理作祟,始终动不了手。今天终于下了决心,写点东西,以后可以再修修补补也无妨。一.为何需要多进程(或者多线程),为何需要并发?这个问题或许本身都不是个问题。但是对于没有接触过多进程编程的朋友来说,他们确实无法感受到并发的魅力以及必要性。我想,只要你不是整天都写那种int main()到底的代码的人,那么或多或少你会遇到代码响应不够用的情况,也应该有尝过并发编程的甜头。就像一个快餐点的服务员, 阅读全文
posted @ 2013-06-10 02:45 Leo Forest 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 原文:http://www.cnblogs.com/rocketfan/archive/2009/11/15/1603465.html1.gprof很有名了,google下很多教程g++-pg-g -o test test.cc./test //会生成gmon.outgprof ./test > prof.log看一下对于我前面提到的huffman编码压缩+解码解压缩全部过程的一个程序对于生成的prof.log ,wow, 很有用处的但是看起来有点累,不是吗:)CodeFlat profile:Each sample counts as 0.01 seconds.% cumulative 阅读全文
posted @ 2013-06-05 10:02 Leo Forest 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 原文:http://www.cnblogs.com/me115/archive/2013/06/05/3117967.html1. 二八法则:在任何一组东西中,最重要的只占其中一小部分,约20%,其余80%的尽管是多数,却是次要的;在优化实践中,我们将精力集中在优化那20%最耗时的代码上,整体性能将有显著的提升;这个很好理解。函数A虽然代码量大,但在一次正常执行流程中,只调用了一次。而另一个函数B代码量比A小很多,但被调用了1000次。显然,我们更应关注B的优化。2. 编完代码,再优化;编码的时候总是考虑最佳性能未必总是好的;在强调最佳性能的编码方式的同时,可能就损失了代码的可读性和开发效率; 阅读全文
posted @ 2013-06-05 09:54 Leo Forest 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 原文:http://www.open-open.com/bbs/view/1325382401984?pn=0#paginator不久前,在互联网上出现了一篇有趣的文章,讲的是对于同一个问题,不同层次的Python程序员编出的Python代码显示出了不同的风格,代码都很简单,有趣。编程新手def factorial(x): if x == 0: return 1 else: return x * factorial(x - 1) //递归!不简单啊!print factorial(6)一年编程经验(学Pascal的)def factorial(x): ... 阅读全文
posted @ 2013-06-03 16:42 Leo Forest 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 算法这篇文章写得很明了:http://news.cnblogs.com/n/176771/以下是实现:KMP.cc#include <iostream>#include <cstring>#include <cstdlib>// Calc partition tablevoid mkRpTab(const char* str, int* tab, int len){ for (int i=0; i<len; ++i) { int j = i; for(; j>0; --j) { if (strnc... 阅读全文
posted @ 2013-05-24 23:08 Leo Forest 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 定义测试用的Message:test.protomessage SubMsg { required uint32 n1 = 1; required uint32 n2 = 2;}message Msg { required uint32 n = 1; repeated SubMsg sub_msg = 2;}[root@slayer xx]# protoc test.proto --cpp_out=./从Msg里面读取SubMsgd有两种方法:SubMsg sub_msg(int index); SubMsg* mutable_sub_msg(int index); //取出指... 阅读全文
posted @ 2013-05-24 11:56 Leo Forest 阅读(1027) 评论(0) 推荐(0) 编辑
摘要: 原文:http://icodeit.org/2012/01/%E4%BD%BF%E7%94%A8graphviz%E7%BB%98%E5%88%B6%E6%B5%81%E7%A8%8B%E5%9B%BE/前言日常的开发工作中,为代码添加注释是代码可维护性的一个重要方面,但是仅仅提供注释是不够的,特别是当系统功能越来越复杂,涉及到的模块越来越多的时候,仅仅靠代码就很难从宏观的层次去理解。因此我们需要图例的支持,图例不仅仅包含功能之间的交互,也可以包含复杂的数据结构的示意图,数据流向等。但是,常用的UML建模工具,如VISIO等都略显复杂,且体积庞大。对于开发人员,特别是后台开发人员来说,命令行, 阅读全文
posted @ 2013-05-18 10:42 Leo Forest 阅读(772) 评论(0) 推荐(0) 编辑
摘要: ReactorTest.cc#include "Poco/Net/SocketReactor.h"#include "Poco/Net/SocketNotification.h"#include "Poco/Net/SocketConnector.h"#include "Poco/Net/SocketAcceptor.h"#include "Poco/Net/StreamSocket.h"#include "Poco/Net/ServerSocket.h"#include & 阅读全文
posted @ 2013-05-16 17:24 Leo Forest 阅读(2653) 评论(0) 推荐(0) 编辑
摘要: 原文: http://blog.csdn.net/tge7618291/article/details/7599902 <<Unicode与UTF-8互转(C语言实现)>>Tags: encoding,c1. 基础1.1 ASCII码我们知道, 在计算机内部, 所有的信息最终都表示为一个二进制的字符串. 每一个二进制位(bit)有0和1两种状态, 因此八个二进制位就可以组合出 256种状态, 这被称为一个字节(byte). 也就是说, 一个字节一共可以用来表示256种不同的状态, 每一个状态对应一个符号, 就是256个符号, 从 0000000到11111111.上个世 阅读全文
posted @ 2013-05-07 21:17 Leo Forest 阅读(927) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 29 下一页