Содержание
- 2. Возвращаясь к алгоритму sort В предыдущей версии алгоритма sort предполагалось, что использовался оператор сравнения “меньше чем”
- 3. Возвращаясь к алгоритму sort int dsort1() { const int N = 8; int a[N]={1234,5432,8943,3346,9831,7842,8863,9820}; cout copy(a,
- 4. Функциональные объекты Функциональным объектом называется класс, где определен оператор вызова, который записывается как operator(). От класса
- 5. Замечания В классе compare определен оператор вызова функции, operator(), с двумя параметрами типа int,=> можно использовать
- 6. Использование функционального объекта // dsort2 .срр: Сортировка в нисходящем порядке class compare { public: bool operator()(int
- 7. Работа с последовательностями. Алгоритм accumulate // Вычисление суммы элементов последовательности #include #include // для вычислений using
- 8. Алгоритм accumulate // Вычисление произведения Шаблон multiplies () аналогичен шаблону greater (). Мы используем его для
- 9. Алгоритм accumulate (с функциональным объектом) Для заданного массива а, содержащего четыре элемента, вычисляется следующее значение: 1
- 10. Алгоритм accumulate (с функциональным объектом) int accum3() { const int N = 4; int a[N] =
- 11. Алгоритм count count подсчитывает, какое количество элементов последовательности равно заданному значению. // count_e.cpp: Подсчет количества букв
- 12. Алгоритм count // Сосчитать, сколько раз гласные а, е, i, о, u //встречаются в заданной строке
- 13. Алгоритм count_if // Сосчитать, сколько раз гласные а, е, i, о, u //встречаются в заданной строке
- 14. Функциональные объекты, определенные в STL Функции, например found, возвращающие true или false в зависимости от соблюдения
- 15. Полный список шаблонов Шаблоны (определенные в заголовке functional), соответствуют стандартным бинарным операциям: plus minus multiplies divides
- 16. Более сложный пример Рассмотрим класс Man, в котором (кроме прочего) содержится два поля: - string name;
- 17. class Man { public: //Man(){ name = ""; age = 0;} //Описание пустого конструктора Man (string
- 18. // Перегрузка оператора вывода (такой у него синтаксис) ostream& operator { return os } // Функциональный
- 19. int FunObj_LessAge() { int i; Man ar[ ] = { Man("Mary Poppins", 36), Man("Count Basie", 70),
- 20. // Шаблонная функция print() для вывода //содержимого контейнера template void print(T& cont) { typename T::const_iterator p
- 21. Результат работы:
- 22. Алгоритм find_if Алгоритмы семейства find осуществляют поиск в последовательности заданного значения. Алгоритмы find_if выполняет поиск значения,
- 23. Алгоритм find_if int main_find() { int a[10] = {43,11,26,79,11,55,31,59,8,0}; vector v(a,a+10); vector ::iterator i; for (i=v.begin();
- 24. Алгоритм find_if Модифицируем программу, чтобы найти все элементы, удовлетворяющие условию. int main_find() { int a[] =
- 26. Скачать презентацию