Форум программистов, компьютерный форум CyberForum.ru

Интересная особенность в работе вектора - C++

Восстановить пароль Регистрация
 
 
Mesteriis
 Аватар для Mesteriis
371 / 154 / 40
Регистрация: 08.08.2015
Сообщений: 1,059
Завершенные тесты: 1
10.11.2015, 00:42     Интересная особенность в работе вектора #1
Доброе время суток!

PS Даже не знаю как вам объяснить не грузя кучей кода, пока попробую на словах но если нужно могу выкинуть весь код!

Значит так:
Заполняем вектор элементами (имена файлов прочитанные из директории) Вектор имеет структуру:
Имя файла (строка)
Расширение (строка)
Путь (строка)
Номер (Инт)
Дальше циклом читаем этот вектор с условием что если тип расширение равен (например) dmg (маковский exe) то скопировать его в другой вектор! а элемент в первоначальном удалить!

Но по какой то неведомой причине условия пропускает несколько элементов которые она должна отработать!
Не могу найти причину такого поведения, у кого какие мысли?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2015, 00:42     Интересная особенность в работе вектора
Посмотрите здесь:

Интересная сортировка C++
C++ Интересная сортировка
C++ Интересная головоломка
Интересная штука C++
C++ Не изменяется элемент вектора при работе с ним по указателю
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
pproger
162 / 65 / 13
Регистрация: 22.03.2011
Сообщений: 188
10.11.2015, 12:12     Интересная особенность в работе вектора #21
Tulosba, под модификацией элементов я имел ввиду автора, а не алгоритм
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
10.11.2015, 12:26     Интересная особенность в работе вектора #22
Цитата Сообщение от pproger Посмотреть сообщение
под модификацией элементов я имел ввиду автора, а не алгоритм
Странно.
Цитата Сообщение от Mesteriis Посмотреть сообщение
то скопировать его в другой вектор! а элемент в первоначальном удалить!
Ну, возможно что-то изменилось с исходной постановки.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2015, 12:35     Интересная особенность в работе вектора
Еще ссылки по теме:

C++ Особенность объявления функции
C++ В чем особенность функции типа void от других типов?
Если возможно, упорядочить булевы вектора, или вывести сообщение "Вектора несравнимы" C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Mesteriis
 Аватар для Mesteriis
371 / 154 / 40
Регистрация: 08.08.2015
Сообщений: 1,059
Завершенные тесты: 1
10.11.2015, 12:35  [ТС]     Интересная особенность в работе вектора #23
Не ссорьтесь, Реши проблему по другому, при переборе вектора не удалял элемент а меня его ключ (было в моей структуре такое поле), с false на true! А в самом конце когда все элементы были true удалял весь вектор! pproger, был прав когда я в цикле удалял элемент после его копирования (допустим 3й), то следующий элемент который отвечал моим условиям уже был не 7й, а 7-1=6й и так далее, а shrink_to_fit нечего бы не дал, так как изначально я не резервировал память под вектор, потому что не знал какой емкости он будет. Да и ужатие его тоже не принесет не какого смысла! (Ну я про данную ситуацию)
Yandex
Объявления
10.11.2015, 12:35     Интересная особенность в работе вектора
Ответ Создать тему
Опции темы

Текущее время: 02:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru