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

Функторы, предикаты, функциональные адаптеры, лямбда-функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перевод текста в XML http://www.cyberforum.ru/cpp/thread1086971.html
Всем доброго дня! Как-то внезапно возникло несколько вопросов. 1. Есть текст, обычной исходный код С++ в *.cpp файле. Как мне его перевести в *xml файл? Есть как понимаю, много всяких библиотек (сам гляжу на QtXML), что можете посоветовать? Писать всё это добро планирую на C++ с использованием Qt. Вкратце, зачем мне всё это надо, и какие цели я хочу достичь. Хочу сделать небольшую коллекцию...
C++ Ошибка при сборке проекта в Eclipse, с++ Подскажите пожалуйста, как можно исправить ошибку? Возможно я что-то не то сделал или не все инструкции доделал до конца? Description Resource Path Location Type fatal error: wchar.h: No such file or directory testCpp line 44, external location: c:\mingw\lib\gcc\mingw32\4.8.1\include\c++\cwchar C/C++ Problem По контексту "наверное" я понимаю в чем проблема. В папке cwchar, нет файла... http://www.cyberforum.ru/cpp/thread1086878.html
C++ Работа с твиттер (нужна библиотека)
Уважаемые программисты! Подскажите пожалуйста какой(ими) библиотеками вы пользуетесь для работы с twitter. Хочу создать бота, который бы твител кое-какую информацию.
C++ [OpenCV] Поиск по шаблону
Добрый день, имеется код с robocraft, в котором используется функция cvMatchTemplate, вопрос состоит в том, чтобы узнать нашла ли функция шаблон на данном изображении или нет. #include </usr/include/opencv/cv.h> #include </usr/include/opencv/highgui.h> #include <stdlib.h> #include <stdio.h> #include <iostream> using namespace std;
C++ Забиндить функцию с параметрами, чтобы она хранилась в классе и вызывалась без placeholders http://www.cyberforum.ru/cpp/thread1085808.html
Значит привет всем. Суть в кратце: хочу забиндить функцию с параметрами (кол-во произвольно), чтобы она хранилась в классе, и чтобы я мог вызвать её без placeholders. Для наилучшего понимания того что я хочу, ниже следует "псевдо-код" (разумеется не рабочий):struct function_holder { auto f; function_holder( auto f ) : f(f) {} void call() { f(); }
C++ [Поток] Один вход, два выхода [Как сделать?] Речь об STL-ных потоках. Нужно делать report в файл и на консоль (а может, только на один). Если я заведу поток rep, как мне сделать, чтобы при rep << "msg"; у меня фактически получилось fs << "msg"; cin << "msg"; Спасибо. подробнее

Показать сообщение отдельно
MrGluck
Модератор
Эксперт CЭксперт С++
6992 / 4163 / 594
Регистрация: 29.11.2010
Сообщений: 11,045
04.02.2014, 17:30  [ТС]     Функторы, предикаты, функциональные адаптеры, лямбда-функции
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
MrGluck, причем тут set?
как нормально в параметрах set, например, задать свой компаратор с помощью функций?
C++
1
2
3
bool fncomp (int lhs, int rhs) {return lhs<rhs;}
bool(*fn_pt)(int,int) = fncomp;
  std::set<int,bool(*)(int,int)> name (fn_pt);
то же через функциональный объект:
C++
1
2
3
4
5
struct classcomp {
  bool operator() (const int& lhs, const int& rhs) const
  {return lhs<rhs;}
};
std::set<int,classcomp> name;
примеры отсюда:
http://www.cplusplus.com/reference/set/set/set/
Да, первый вариант можно слегка "улучшить" через лямбды, но я это к тому, что функции и функциональные объекты не одно и то же.
Про необходимость дополнить статью примерами с использованием аргументированных конструкторов в классах, описывающих функциональные объекты я уже понял.
Про внятное вступление с парой слов об алгоритмах STL и для чего иногда возникает в них потребность писать свои колбэки я тоже подметил. Если вы к этому вели, то спасибо.
Есть еще несколько пунктов для правки статьи. Сейчас времени нет, как появится - сразу буду шлифовать и добавлять.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru