Форум программистов, компьютерный форум 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Эксперт С++
7210 / 4376 / 638
Регистрация: 29.11.2010
Сообщений: 11,887
05.02.2014, 02:41  [ТС]
Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Такую штуку сделали что бы обобщить такой вариант использования
Ну т.е. указатели на функцию во всех формах записи намного удобнее?

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

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

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