С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Пара вопросов по функторам stl - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ create a number http://www.cyberforum.ru/cpp-beginners/thread231933.html
Добрый всем вечер!Затрудняюсь написать программу,которая запрашивает у пользователя число.Задача: - подсчитать количество разрядов этого числа; - найти сумму цифр этого числа; - перевернуть...
C++ Как исправить ошибки при компиляции PC_Simulatora. Здравствуйте.Собственно дело вот в чем я ремонтирую моб.телефоны и постоянно сталкиваюсь с проблемой правки и отладки прошивок.Для этого мене нужна эта программа,я поставил VC 6 SP5 открываю в VC 6... http://www.cyberforum.ru/cpp-beginners/thread231908.html
C++ Не правильно работает. s = (a/(b*(c/(d*(e/(f*h))))));
2. На входе имеются вещественные числа a, b, c, d, e, f, h. Напишите программу для вычисления значения выражения В программе необходимо предусмотреть проверку ситуации, когда значение...
Найдите сумму чётных и отрицательных чисел C++
Найдите сумму тех чисел, которые чётные и отрицательные. Ребят помогите пожалуйста :(
C++ Виртуальные функции http://www.cyberforum.ru/cpp-beginners/thread231870.html
Если в базовом классе А есть виртуальная функция show() перегруженная, то есть имеется три разные версии этой функции. Есть класс Б производный от А. В этом классе есть виртуальная функция замещающая...
C++ Инкапсуляция в ООП и C++ Вы используете в классе геттеры и сеттеры (функции). Отделяйте спецификацию от реализации (инкапсуция в каком-то роде). Т.е. header file постовляет только своего рода заглушки на функции, а cpp-файл... подробнее

Показать сообщение отдельно
Leningradec
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 30

Пара вопросов по функторам stl - C++

21.01.2011, 00:54. Просмотров 653. Ответов 12
Метки (Все метки)

Доброго времени суток!
У меня возникло пара вопросов по функторам. Может кто чего подскажет?
Вопрос 1.
В нижеследующем коде в стандартном алгоритме for_each используется функтор IsEvan. Почему мы можем использовать функтор таким вот образом? Разве не логичней сначала создать объект класса IsEvan и именно его использовать в алгоритме?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class IsEvan
{
public:
    void operator()(int num)
    {
        if(num%2==0)
            cout<<num<<" ";
    }
};
 
int main()
{
    vector<int> vec;
    for(int i=1; i<11; i++)
        vec.push_back(i);
        for_each(vec.begin(),vec.end(),IsEvan());
    return 0;
}
Вопрос 2.
Пытаюсь применить стандартный отрицатель unary_negate. Не знаю, как правильно его вызвать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class predicate: public unary_function<int,bool>
{
public:
    bool operator()(int num) const
    {
        return num<=5;
    }
};
 
int main()
{
    vector<int> vec;
    for(int i=1; i<11; i++)
        vec.push_back(i);
    cout<<*find_if(vec.begin(),vec.end(),unary_negate<predicate()>()); // Не знаю, как правильно написать эту строку
    return 0;
}
Зачем нужны отрицатели unary_negate, если есть стандартные функции not1 и not2 ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.