Форум программистов, компьютерный форум 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++ [Поток] Один вход, два выхода [Как сделать?] http://www.cyberforum.ru/cpp/thread1084796.html
Речь об STL-ных потоках. Нужно делать report в файл и на консоль (а может, только на один). Если я заведу поток rep, как мне сделать, чтобы при rep << "msg"; у меня фактически получилось fs << "msg"; cin << "msg"; Спасибо.
C++ Дедушка, а что это за костыль у тебя? Есть языки программирования с очень длинной и непростой историей, у которых примерно половина их возможностей – это какие-то исторически сложившиеся сложные и ненужные костыли. К таким, например, относится и наш любимый C++. Если вы не разработчик компилятора C++, почти всегда можно найти что-то, чего вы в языке не знаете. http://habrahabr.ru/company/yandex/blog/206234/ А что это за костыли... подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
5661 / 3140 / 356
Регистрация: 29.11.2010
Сообщений: 8,413
05.02.2014, 02:41  [ТС]     Функторы, предикаты, функциональные адаптеры, лямбда-функции
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Такую штуку сделали что бы обобщить такой вариант использования
Ну т.е. указатели на функцию во всех формах записи намного удобнее?

Посмотрите например Мюссер Д., Дердж Ж., Сейни Ф, - С++ и STL. Справочное руководство. Глава 8.2. Называется внезапно
Преимущества передачи функциональных объектов как параметров шаблонов
Из плюсов такого подхода перед функциями:
1) вы уже сами указали, удобно передавать значения
2) эффективность т.к.
при передаче функционального объекта через параметр шаблона и перегрузке оператора operator() компилятор может выполнить встраивание вызова binary_function <...> тем самым полностью устранив все дополнительные шаги по разыменовыванию указателя и
3) макроподстановка в шаблонах (все же в качестве параметра шаблона бинарную функцию не передашь)

Встраивание функционального объекта и функции не одно и то же.

Я set всегда (кроме тех случаев когда хотел с указателями на функцию поизвращаться чисто из любопытства) задавал через параметр шаблона, и не нужно помнить, что последним параметром указатель на функцию передавать надо. Считай поведение меняется в одной строке, а не во всех точках вызовов конструктора.
 
Текущее время: 22:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru