Как получить доступ к вектору с фиксированным размером?

Нет никакого «нормального» решения для вашей проблемы, но только упомянутые «обходные пути».

Ситуация в том, что ваш контейнер блоков заполнит доступное пространство до максимальной доступной / настроенной, а затем разбивает все внутренние блоки на следующую строку, что приведет к переполнению контейнера. Также с другими конфигурациями, такими как плавание, это будет одинаковое поведение. Вот как работает рендеринг - каждый раз жадно в пространстве, чтобы вычислить поведение внутренних элементов.

Возможно, будущее Flexboxes сделает это возможным - но я не прочитал полные спецификации. Просто догадаться ...

0
задан Ketan Sahu 20 March 2019 в 09:55
поделиться

1 ответ

Во-первых, я согласен со всеми комментариями к вашему вопросу о форматировании, отладке, макросах и т. Д. Но я постараюсь объяснить вам, как новичку, что происходит в коде.

Так вы бы определили вектор типа int:

vector<int> v;

Это определит массив из 10 векторов типа int:

[ 111]

Вот что делает ваша программа: она определяет массив, содержащий 10 векторов.

При доступе к данным с помощью этого:

v[n][i]

То, что происходит, это то, что вы берете n-й вектор в массиве и получаете i-й элемент в этом векторе.

Когда вы делаете это:

v[a].PB(b);

вы берете a'-й вектор в массиве и добавляете число b к концу его как новый элемент в этом векторе.

После этого вам просто нужно тщательно следовать логике кода. Я бы посоветовал использовать отладчик для пошагового выполнения кода и проверки значений переменных при этом.

Но в основном пользователь вводит значения, которые программа затем добавляет к векторам сложным образом (без защиты для пользователя, вводящего значения вне диапазона - очень опасно). Затем программа распечатывает все значения первых 5 векторов.

0
ответ дан Eli 20 March 2019 в 09:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: