[c++] Why does rand() yield the same sequence of numbers on every run?