摘要:
何谓重构重构是:为了是代码更易于维护和修改,在一系列小的、语义不变的代码转换(即是代码保持正常工作)中重组、重排代码。重构不只是任意的调整代码必须仍能正常工作小步骤仅使语义被保留(即不是一个重大改写)单元测试来证明代码仍然有效代码是更松散的耦合性功能更聚集的模块更容易理解的有很多人所共知的重构技术你... 阅读全文
摘要:
现在很多语言都内置了线程池实现,但C++中却没有。本文列举一些C++实现的线程池工具。Boost.Threadpool 项目首页:http://threadpool.sourceforge.net Boost.Threadpool是一个基于Boost、跨平台的C++线程池库。Boost.Th... 阅读全文
摘要:
top作为日常管理工作中最常用也是最重要的Linux系统监控工具之一,可以动态观察系统进程状况。但其缺点就是只支持键盘操作,显示也单调。作为刚才Windows转到Linux的我来说,现在有了一个更好的选择:htop。htop介绍htop是Linux系统下一个基本文本模式的、交互式的进程查看器,主要用... 阅读全文
摘要:
这篇文章是我翻译自Top 10 tips for code porting c/c++的一篇小短文,以下是翻译全文,如有错误请留言或查阅原文。 代码的可移植性基本上是指使得源代码能够在不同的平台上编译,而不需要源代码进行任何修改。 在脑海里我们知道为保持移植性而编写代码对是重要的。引入代码可... 阅读全文
摘要:
在前面对glog分别做了两次学习,请看C++的开源跨平台日志库glog学习研究(一)、C++的开源跨平台日志库glog学习研究(二)--宏的使用,这篇再做个扫尾工作,算是基本完成了。编译期断言动态断言在调试过程中是一个很重要的手段,而且我们使用的也比较多。相应的,静态断言,也即是编译期断言随着模板编... 阅读全文
摘要:
上一篇从整个工程上简单分析了glog,请看C++的开源跨平台日志库glog学习研究(一),这一篇对glog的实现代码入手,比如在其源码中以宏的使用最为广泛,接下来就先对各种宏的使用做一简单分析。1. 日志输出宏这里我们以一条最简单的日至输出为例说明:LOG(WARNING) stream_;}dat... 阅读全文
摘要:
作为C++领域中为数不多的好用、高效的、跨平台的日志工具,Google的开源日志库glog也算是凤毛麟角了。glog 是一个C++实现的应用级日志记录框架,提供了C++风格的流操作。恰巧趁着五一我也学习研究了这个glog库,写个总结如下。走过路过的的各位牛人、高手可以忽略这篇文章了。从code.go... 阅读全文
摘要:
C++基本没有正则表达式功能,当然像Boost里提供了正则。本文来源于博客园园友的一篇文章,请看:C/C++ 字符串模糊匹配很早之前就看过这篇文章,原作者的需求很明确、代码实现也很好。之所以又写这篇文章,是因为原作者只介绍了在Linux系统下直接调用系统函数fnmatch即可实现,而没有考虑在Win... 阅读全文
摘要:
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。作为一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理,而且正变得越来越流行了。最... 阅读全文
摘要:
我们有很多时候需要使用中文编码格式,比如gbk、gb2312等,但是因为主要针对中文编码设置,因此并不完全通用,这样一来就有了在各编码间相互转换的需求,比如和UTF8的转换。可是在我使用的过程中,却发现编码转换并没有想象中的简单,或者说可能会出错,即使你使用的系统API。我在使用中,产生一些疑... 阅读全文