Doesn't that not work because `nums` is all initialized to 0 though?
Like, wouldn't it be
for (int num : nums) {
num = rng();
}
(I don't know any c++). I kind of expect the above not to work though because it's doing an assignment. I suppose this is a good argument to just use a `fill` or `generate` function...
You're right, I completely forgot what it meant... The loop I wrote was basically equivalent to :
for (int i = 0; i < nums.size(); ++i) {
nums[nums[i]] = rng();
}
Which happens not to go out of bounds simply because nums[i] is initially 0 for every i in the range - so it sets nums[0] to a different random number 1000 times.
Like, wouldn't it be
(I don't know any c++). I kind of expect the above not to work though because it's doing an assignment. I suppose this is a good argument to just use a `fill` or `generate` function...