http://www.cnblogs.com/dolphin0520/archive/2011/08/24/2151846.html
http://www.cppblog.com/oosky/archive/2006/07/06/9486.html
http://blog.youxu.info/21-days/