Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.11.2010, 22:43   #1
nowaalex
Пользователь
 
Регистрация: 22.08.2010
Сообщений: 59
По умолчанию Как правильно записать функтор?

Код:
template<typename T>
class Fucntor
{
public:
    bool operator()( T arg1, T arg2 );
};

template<typename T, --->
class Tree
{
....
};
Код:
struct functor
{
bool operator()( char a, char b ){ return a < b; }
};
чтобы потом вместо --- передавать fucntor
nowaalex вне форума Ответить с цитированием
Старый 30.11.2010, 23:26   #2
sergey.d
Пользователь
 
Регистрация: 23.08.2010
Сообщений: 98
По умолчанию

В данном примере Increment вступает в роли функтора

Код:
##include <iostream>
template<typename T, typename Action>
class X
{
public:
    X(): _data() {  }
    void doIt() { _data = Action()(_data); }
    T data() { return _data; }
private:
    T _data;
};

struct Increment
{
    int operator()(int x) { return x + 1; }
};

int main(int, char *[])
{
    X<int, Increment> x;
    std::cout << "Before: " << x.data() << std::endl;
    x.doIt();
    std::cout << "Before: " << x.data() << std::endl;
    return 0;
}
sergey.d вне форума Ответить с цитированием
Старый 01.12.2010, 00:38   #3
still_alive
Great Code Monkey
Форумчанин
 
Аватар для still_alive
 
Регистрация: 09.08.2007
Сообщений: 533
По умолчанию

Функтор обычно делают шаблонным, а его operator() желательно должен быть с атрибутом const.
still_alive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите как записать правильно в xml edik БД в Delphi 0 17.12.2009 15:39
не могу правильно записать ф-мулу для задачи с массивами на delphy 7 alves Помощь студентам 5 04.11.2009 17:37
Как правильно записать код юникодного символа 0xAD программно для вывода? SkAndrew Общие вопросы Delphi 4 08.11.2008 08:55
Как правильно записать стиль Михаил Юрьевич Общие вопросы Delphi 11 30.06.2008 11:30