Two comments. First, you should use some sort of distribution as well as the generator. Choose the required range of the resulting values.
Second, if you generate any sequence of random numbers, there's no guarantee that each value will be unique.
If you throw a die six times, you would not expect to get each number 1 to 6 precisely once. Much more likely you will get some repeats and some not occurring at all.
You need to consider how to ensure you get unique numbers. Just using a 'better' source of numbers isn't sufficient on its own.
One way would be to fill the vector with consecutive values then shuffle it. And in your case, sort it back again, so that would be a waste of time.
Another way is to check that the number is already present before inserting it. If it's already there, try again.
A better way is to use a std::set which will only accept unique values, and keep inserting until the size of the set reaches your desired count. (Note, if you tried this with rand() you'd get an infinite loop, as after the first 32768 values (typically), every number would already be present, and so the insert would fail each time).
http://www.cplusplus.com/reference/set/set/insert/