http://blog.csdn.net/cxyol/article/details/573524 http://www.cppblog.com/liangbo/archive/2006/10/06/13394.html