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

Передача оператора в функцию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Сортировка массивов по нескольким параметрам. Исправить ошибку в коде http://www.cyberforum.ru/cpp-beginners/thread1247697.html
Здравствуйте. Нужна помощь. Моя задача: задан массив, содержащий сведения о металлах. Для каждого материала указаны: название, плотность, удельная электропроводность. Отсортировать массив по значениям: 1) плотности, 2) электропроводности. По электропроводности сортирует, как надо. По плотности сортирует косячно. Ошибки не вижу, код в case 1 и case 2 идентичен за исключением одной...
C++ Как очистить входной поток от '\n'? Программа закрывается #include "stdafx.h" #include <iostream> #include "conio.h" #include "windows.h" using namespace::std; int _tmain(int argc, _TCHAR* argv) { setlocale(0, "Rus"); http://www.cyberforum.ru/cpp-beginners/thread1247663.html
Какой нужно знать минимум, чтобы уже можно было искать работу по C++ C++
Что нужно знать минимум, что бы можно было уже можно искать работу по C++ ?) Что можете сказать на этот счет ?)
C++ Не работает ни cin.Get(), ни cin.Getline()
#include "stdafx.h" #include <iostream> #include "conio.h" #include "windows.h" #include "string.h" using namespace::std; const int LEN = 80; // максимальная длина имени class employee // некий сотрудник { private:
C++ Программа, не пускающая в поток вывода нежелательные слова http://www.cyberforum.ru/cpp-beginners/thread1247625.html
Задачка из книги Страуструпа. Как-то не правильно работает программа, не могу понять в чём дело может подскажет кто. Задача: Напишите программу, заглушающую нежелательние слова; иначе говоря, считайте слова из потока cin и выведите их в поток cout, заменив нежелательные слова словом BLEEP. Начните из одного не желательного слова например string disliked = "Broccoli"; Когда отладите...
C++ Семантика перемещения - разобрать код Допустим, есть такой код: vector<T> f() { vector<T> v(100000); return v; } ... vector<T> t = f(); подробнее

Показать сообщение отдельно
Ilot
Модератор
Эксперт С++
1765 / 1140 / 221
Регистрация: 16.05.2013
Сообщений: 3,017
Записей в блоге: 5
Завершенные тесты: 1
27.08.2014, 09:00     Передача оператора в функцию
Да, если он функциональный объект:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <functional>
template <class T, class Op>
T func(T t1, T t2, Op op) {
    return op(t1, t2);
}
int main() {
    int t1 = 5;
    int t2 = 3;
    std::cout << t1 << " + " << t2 << " = " <<  func(t1, t2, std::plus<int>()) << std::endl;
    std::cout << t1 << " - " << t2 << " = " <<  func(t1, t2, std::minus<int>()) << std::endl;
    std::cout << t1 << " * " << t2 << " = " <<  func(t1, t2, std::multiplies<int>()) << std::endl;
    std::cout << t1 << " / " << t2 << " = " <<  func(t1, t2, std::divides<int>()) << std::endl;
    std::cout << t1 << " % " << t2 << " = " <<  func(t1, t2, std::modulus<int>()) << std::endl;
 
    return 0;
}
Можно реализовать передачу символов операций, но это не лучший вариант.
 
Текущее время: 01:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru