http://www.stroustrup.com/3rd_code.html