Насколько я понимаю, для вектора векторов vec.size()
получает общий размер, а получает размер одного измерения для каждой строки, скажем, строки.Размер размеров для вектора векторов C++
Как получить размер другого измерения?
Насколько я понимаю, для вектора векторов vec.size()
получает общий размер, а получает размер одного измерения для каждой строки, скажем, строки.Размер размеров для вектора векторов C++
Как получить размер другого измерения?
вектор :: размер всегда возвращает количество элементов. Таким образом, vec.size() получает количество векторных строк. И vec [x] .size() вернет элементы в этой строке. Это может быть разным для каждого x. Если вы поддерживаете постоянное число, то общее количество ячеек - vec.size() * vec [0] .size() (если не пусто).
Это помогло мне решить вопрос. Я сделал ошибку, думая, что он получает общий размер, в то время как он получает количество векторов, которые он держит. Это то, что я искал. – PascalVKooten
Вектор векторов имеет, в общем, зубчатый край; нет гарантии, что другое измерение является постоянным.
Но учитывая, что он равен всем, как его удобно использовать? – PascalVKooten
@Dualinity: Если он равен всем, получите размер и умножьте его на размер оболочки, нет? – ChiefTwoPencils
Правильно, имеет смысл. – PascalVKooten
Насколько я понимаю, для вектора векторов, в vec.size()
Нет, это дает число векторов внутри этого вектора. Это будет соответствовать количеству строк, если вы видите вектор как своего рода 2D-массив строк.
Таким образом, если все векторы внутри вектора вектора имеют одинаковый размер, и при условии, этот размер равен или больше 1, то
auto dim1 = vec.size();
auto dim2 = vec[0].size();
Возможно, просто добавьте их? – ChiefTwoPencils
Какие есть другие размеры? –