Наше решение по выводу на дисплей в предыдущей секции имеет два основных недостатка. Во-первых, оно ограничено выводом шести числовых последовательностей - если пользователь угадает все шесть, программа сразу завершится. Во-вторых, она всегда выводит те же самые шесть пар элементов в той же последовательности. Как же увеличить гибкость программы?
Одно из возможных решений - создать шесть векторов, по одному на каждую последовательность, рассчитанных на одинаковое количество элементов. На каждом проходе цикла мы выбираем пары элементов из разных векторов. При повторном использовании вектора мы возьмем пару элементов из другой части вектора. Это приблизит нас к устранению обоих отмеченных недостатков.
Как и в предыдущем решении, хотелось бы иметь «прозрачный» доступ к разным векторам. В предыдущем разделе мы достигали «прозрачности» за счет доступа по индексам, а не по имени. На каждом проходе цикла мы увеличивали значение индекса на 3. Сам код оставался неизменным.
В этом разделе мы добьемся «прозрачности» тем, что будем обращаться к вектору косвенно, через указатель, вместо обращения по имени. Указатель вносит определенный уровень косвенности в программу.