The classic explanation by Scott Meyers.