Actually, I use a "pause()" function too (for the sake of abstraction), but the body of said function is just system("Pause"). I find it is the best solution as the Windows provided pause is really "Press any key to continue" whereas Laserlight's is more tightly stream bound (and may have some un-intended side-effects on your input stream).

The day I'll port my program, I'll only have one function to change, Probably to Laserlight's implementation