|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.10.2019, 12:46 | #1 |
Форумчанин
Регистрация: 13.09.2019
Сообщений: 119
|
C++ - в чем разница двух объявлений вектора?
Добрый день
Вопрос возник такой. Вот два способа объявления вектора. Код:
Код:
А попытка переписать элементы в другой вектор и глянуть потом на них вообще сносит программу. Если объявить myVector первым способом, все работает. Код:
|
31.10.2019, 12:54 | #2 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
1. Это не два объявления вектора.
2. Код:
Цитата:
Код:
Цитата:
|
||
31.10.2019, 13:02 | #3 |
Форумчанин
Регистрация: 13.09.2019
Сообщений: 119
|
Читал статью в интернетах, из которой сложилось впечатление, что это эквивалентно Там про эти два варианта сказано:
Эта запись эквивалентна двум предыдущим, то есть здесь мы объявили вектор с начальным размером в 10 элементов типа int. Но кроме этого, такой способ объявления вектора не просто выделяет память, но и еще инициализирует все элементы вектора нулями. Я и подумал, что кроме предварительного забития нулей это одно и то же, и удивился, почему не работает одинаково. Видимо, недопонял. |
31.10.2019, 13:04 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
|
31.10.2019, 13:06 | #5 |
Форумчанин
Регистрация: 13.09.2019
Сообщений: 119
|
Но ведь я их заполнял руками.
Код:
|
31.10.2019, 13:08 | #6 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Там нет элементов. оператор [] не вставляет элементы в вектор
https://en.cppreference.com/w/cpp/co...or/operator_at Код:
Цитата:
|
|
31.10.2019, 13:14 | #7 |
Форумчанин
Регистрация: 13.09.2019
Сообщений: 119
|
Видимо, я самую суть не ухватываю пока что Size да, выдает, что нет элементов, но вот же они, я их вижу
Код:
|
31.10.2019, 13:16 | #8 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Потому что вы сказали вектору зарезервировать память и залезли в нее.
|
31.10.2019, 13:17 | #9 |
Форумчанин
Регистрация: 13.09.2019
Сообщений: 119
|
Пошел думать
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Даны два вектора b=(b1,b2,...,b6),x=(x1,x2,...,x6) и матрица А(6х6).написать программу вычисления длины вектора Ax-b. | infern_o | Паскаль, Turbo Pascal, PascalABC.NET | 10 | 21.03.2013 10:50 |
Разница двух диапазонов в список. | KOSTIK1 | Microsoft Office Excel | 15 | 17.01.2012 14:09 |
Нужна пр-ма для скачивания базы объявлений с сайтов-досок объявлений | fine09 | Фриланс | 1 | 17.09.2011 22:19 |
Какая разница в двух строках? | bullvinkle | HTML и CSS | 2 | 07.12.2009 18:17 |