http://www.cppblog.com/Solstice/archive/2011/06/06/148129.htmlhttp://www.cnblogs.com/ws0919/archive/2009/09/25/1573749.html