станд.:: пара пригождается для нескольких других контейнерных классов в STL.
, Например:
std::map<>
std::multimap<>
Оба станд. хранилища:: пары ключей и значений.
При использовании карты и мультикарты, Вы часто получаете доступ к элементам с помощью указателя на пару.
Вы не должны создавать новый экземпляр Random
в цикле. Попробуйте что-нибудь вроде:
var rnd = new Random();
for(int i = 0; i < 100; ++i)
Console.WriteLine(rnd.Next(1, 100));
Предполагается, что последовательность случайных чисел, сгенерированная одним экземпляром Random
, должна быть равномерно распределена. Создавая новый экземпляр Random
для каждого случайного числа в быстрой последовательности, вы, вероятно, засеваете их идентичными значениями и заставите их генерировать одинаковые случайные числа. Конечно, в этом случае сгенерированная последовательность будет далека от равномерного распределения.
Для полноты, если вам действительно нужно повторно заполнить Random
, вы создадите новый экземпляр Случайное
с новым начальным числом:
rnd = new Random(newSeed);
public static Random rand = new Random(); // this happens once, and will be great at preventing duplicates
Обратите внимание, это не должно использоваться в криптографических целях.