@mjsurette
With the important note:
Notice that random devices may not always be available to produce random numbers (and in some systems, they may even never be available). This is signaled by throwing an exception derived from the standard exception on construction or when a number is requested with operator().
Unless the program really requires a stochastic process to generate random numbers, a portable program is encouraged to use an alternate pseudo-random number generator engine instead, or at least provide a recovery method for such exceptions.
Windows will not provide real random numbers (at least to my knowledge), and in Linux this is implementation dependent. Even if /dev/random is advertised to produce real random numbers, the truthfulness of such a statement is debatable. Often enough the random device just generates a pseudo-random sequence. That's why you get the above note on portability.
Kind regards.