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

Опять непонятки с for_each - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как по указателю на символ найти его индекс в массиве? http://www.cyberforum.ru/cpp-beginners/thread1303448.html
Мучаюсь с прогой уже 3 дня хочу сам написать, вроде все уже понял по логике, но тут проблемка нашел элемент в массиве точнее его указатель, и мне нужен его индекс чтобы в форе поставить от него...
C++ Графический интерфейс для приложения c++ Мне надо написать графический интерфейс к программе. Выглядеть должно примерно так: два поля для ввода данных (русский текст), одна кнопка. При нажатии на кнопку текст из первого поля попадает в... http://www.cyberforum.ru/cpp-beginners/thread1303444.html
C++ Определить класс «Строка» – String длины n. Написать несколько конструкторов, в том числе конструктор копирова
Определить класс «Строка» – String длины n. Написать несколько конструкторов, в том числе конструктор копирования. Реализовать методы для выполнения конкатенации строк, извлечения символа из заданной...
Сумма определенных членов последовательности C++
Даны натуральное n, целые числа a1, ... , an. Необходимо получить сумму тех членов последовательности a1, ... , an, которые кратны 5 Без использования массива:) Заранее спасибо
C++ Определить класс «Квадратная матрица» – Matrix. Класс должен содержать несколько конструкторов, в том числе ко http://www.cyberforum.ru/cpp-beginners/thread1303433.html
Определить класс «Квадратная матрица» – Matrix. Класс должен содержать несколько конструкторов, в том числе конструктор копирования. Реализовать методы для сложения, вычитания, умножения матриц;...
C++ Найти произведение элементов главной диагонали и обменять на минимальный элемент третьей троки б) Дана матрица А(4,4), задать из файла. Найти произведение элементов среди элементов расположенных на главной диагонали матрицы А. Найти минимальный элемент в 3-ей строке матрицы. Поменять местами... подробнее

Показать сообщение отдельно
Max Dark
шКодер самоучка
1825 / 1627 / 592
Регистрация: 09.10.2013
Сообщений: 3,634
Записей в блоге: 6
Завершенные тесты: 2
17.11.2014, 22:10
с использованием объекта функтора
C++
1
2
3
4
5
6
7
8
9
10
class printer{
    string group;
public:
    printer(string grp):group(grp){}
    void operator() (const student& s) {
        if (group == s.group) cout << s.name;
    }
};
///.....
for_each(v.begin(), v.end(), printer(group)); // создаем объект класса "принтер" и передаем его в функцию for_each
с использованием лямбда-функции
C++
1
2
3
for_each(v.begin(), v.end(), [group](const student& s) -> void {
        if (group == s.group) cout << s.name;
    });
Добавлено через 1 минуту
используя ranged for
C++
1
2
3
for(const student& s: v) {
    if (group == s.group) cout << s.name;
}
Добавлено через 3 минуты
Документация по STL: здесь или здесь
Читать лучше английский вариант. ИМХО.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru