Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > vector: есть ли способ узнать кол-во элементов?


Автор: GrishinUS 21.7.2009, 16:48
Добрый день!

Есть вектор v2 

Код

vector <Type1> v2(10);


Поля v2 инициализируются при создании.
Дело в том, что в векторе может быть не 10 экзмепляров, а в общем случае меньше.
Можно косвенно узнать сколько в нем объектов по значению полей, например

Код

if(v2.id1 = 0)
...


а как - нибудь по-другому можно узнать сколько элементов в векторе, каким-нибудь методом самого вектора?
Или я неправильно работаю с векторами?

Автор: zim22 21.7.2009, 17:19
Цитата(GrishinUS @  21.7.2009,  16:48 Найти цитируемый пост)
Или я неправильно работаю с векторами?

неправильно.
функция push_back - добавляет элемент в вектор. его размер увеличится автоматически. и определить его функцией size() можно будет

Автор: bsa 21.7.2009, 17:23
подозреваю, что неправильно.
У вектора есть метод size(), котрый показывает, сколько в нем элементов.
Если тебе какой-то элемент не нужен, то его следует удалять (vector::erase или через erase+remove/remove_if, если по условию).

Автор: GrishinUS 21.7.2009, 18:22
большое спасибо!

Автор: mes 21.7.2009, 19:05
GrishinUS, открою Вам по секрету страшную тайну : для того, чтоб узнать как работать с вектором (или другим классом/библиотекой) нужно прочитать документацию.
и еще посоветую один секретный сайт, где эту (для вектора) и не только эту документацию почитать можно : http://www.cplusplus.com/reference/stl/vector/
 smile 



Автор: GrishinUS 21.7.2009, 19:53
mes,
обязательно прочитаю,
только надо срочно прогу сдавать.
Поймите меня правильно.  smile 

Автор: mes 21.7.2009, 20:27
Цитата(GrishinUS @  21.7.2009,  18:53 Найти цитируемый пост)
только надо срочно прогу сдавать.
Поймите меня правильно.

прочитать и даже с беглого взгляда увидеть size намного быстрей, чем ждать ответят ли на форуме или нет. Поймите меня правильно  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)