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

Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц? - C++

Восстановить пароль Регистрация
 
KibeRomka
0 / 0 / 0
Регистрация: 21.05.2015
Сообщений: 11
01.05.2016, 17:43     Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц? #1
Доброго времени суток!

1)Есть вектор из указателей на объекты.
Как с помощью for_each()увеличить некоторое поле объекта на N единиц?

2) В векторе есть объекты с одинаковыми полями. Как с помощью <algorithm> получить новый вектор из всех объектов, чьи поля равны заданному ? Поле поиска задается вручную.

Заранее благодарен.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2016, 17:43     Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц?
Посмотрите здесь:

Изменение фактического состояния объекта не мгновенно по вызове метода, а через некоторое время C++
C++ Программа, определяющая для заданного целочисленного объекта определить количество ведущих единиц старшего его байта
Как использовать инструкцию for_each ? C++
Символьные функции: Преобразовать массив так: стаж работы увеличить на год, если он станет равен 10, то зарплату увеличить в 2 раза, если 15 – в 3 раз C++
C++ Как вызвать метод для for_each?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4265 / 3696 / 1243
Регистрация: 14.04.2014
Сообщений: 14,476
01.05.2016, 19:30     Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Поле одного объекта или всех?
Для второго используй copy_if().
KibeRomka
0 / 0 / 0
Регистрация: 21.05.2015
Сообщений: 11
01.05.2016, 20:36  [ТС]     Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц? #3
действие относительно выбранных полей всех объектов в векторе
nmcf
4265 / 3696 / 1243
Регистрация: 14.04.2014
Сообщений: 14,476
01.05.2016, 20:41     Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Если поле public.
C++
1
for_each(v.begin(), v.end(), [N](MyClass & x){ x.a += N; });
KibeRomka
0 / 0 / 0
Регистрация: 21.05.2015
Сообщений: 11
01.05.2016, 21:10  [ТС]     Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц? #5
Напишите, пожалуйста, пример работы с copy_if(). Есть vector<Account*> accounts. У объекта класса Account есть поле fio. Найти все объекты с одинаковым fio
nmcf
4265 / 3696 / 1243
Регистрация: 14.04.2014
Сообщений: 14,476
01.05.2016, 22:14     Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц? #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
vector<Account*> accounts, res;
string fio;
copy_if(accounts.begin(), accounts.end(), std::inserter(res, res.end()), [fio](Account * a){ return a->fio == fio; });
Yandex
Объявления
01.05.2016, 22:14     Массив объектов. Как с помощью for_each увеличить некоторое поле объекта на N единиц?
Ответ Создать тему
Опции темы

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