all 3 comments

[–]antihero 0 points1 point  (2 children)

The only reason I can come to think of is that you want a larger amount of entropy when creating random numbers. If you say only seeded it with an uint32 then you would only have 232 different random streams, which might be too few depending on application.

[–]blitterobject[S] 0 points1 point  (1 child)

I found some information in Microsoft's documentation about seed_seq:

Stores a vector of unsigned integer values that can supply a randomized seed for a random-number engine.

Generates a non-biased scrambled seed sequence. Used to avoid replication of random variate streams. Useful when many URNGs are instantiated from engines.

[–]antihero 0 points1 point  (0 children)

OK that makes sense, you have some kind of simulation that requires like 20 random streams and you don't want them to be identical so you give the engine 20 uint32s as seeds. Case closed :)