What's the main difference between while(){ } and do{ }while() loops? From looking at it, it looks like the former evaluates before it performs the iteration and the latter does the evaluation after each iteration... is that correct? Why would I pick one over the other? Is it mainly just a readability thing? Like
bool fail = false;
do{
//something
} while (fail = true);
rather than starting fail as true?