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

Забиндить функцию с параметрами, чтобы она хранилась в классе и вызывалась без placeholders - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Размер типа http://www.cyberforum.ru/cpp/thread1076677.html
Такой небольшой занимательный код. #include <iostream> struct S1 { }; struct S2 { int a;
C++ Константные глобальные переменные - константные ли? Сейчас вспомнил один момент, который остался неразрешенной для меня загадкой. Случилось это более года назад. Пытался устроиться на стажировку в Яндекс. Дали 3 задания, последнее требовало из 10000 исходников на С++ любыми средствами вытащить список глобальных переменных. При этом, в примере что они предоставили, глобальные константы за оные не считаются. Переписка: Здравствуйте, ув. XXX! ... http://www.cyberforum.ru/cpp/thread1075042.html
C++ clang начал поддерживать С++14
Привет! Вот такая новость :) Все, что реализовано можно посмотреть здесь (там снизу). Сейчас попробовал следующий код #include <iostream> int main() { int n = 0b110110110; std::cout << n << std::endl; } Работает :) ключ компиляции -std=c++1y.
C++ SAX json парсер
Вечер добрый. Есть задача реализовать SAX-парсер JSON-a (парсинг не во временные переменные, а сразу в текущие, на которые указатели/ссылки сохранены в некий контекст в классе). Задача парсить не просто примитивные типы и контейнеры, но и сложные/составные типы. Нечто вроде такого struct A { int a; std::vector<int> b; std::string c;
C++ Передача типа указателя на функцию http://www.cyberforum.ru/cpp/thread913130.html
Всем привет. Недавно в теме начинающих возник вопрос, а можно ли передать тип (указатель на функцию) без использования typedef: typedef void (*func)(void); func f = va_arg(vl,func); Конкретно речь идет о втором аргументе макроса va_arg (из <cstdarg>). Первое, что пришло на ум, это использование decltype. Но всё же эта фишка C++11. А есть ли решение в старом стиле? Заранее спасибо.
C++ Десять возможностей C++11, которые должен использовать каждый C++ разработчик Обсуждаем статью: http://habrahabr.ru/post/182920/ Надо же этот раздел немного оживить :) Я, естественно, не участвую. ^_^ подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт CЭксперт С++
6435 / 3633 / 452
Регистрация: 29.11.2010
Сообщений: 9,602
31.01.2014, 04:06     Забиндить функцию с параметрами, чтобы она хранилась в классе и вызывалась без placeholders
Оно?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct function_holder {
    std::function<void()> f;
 
    function_holder( std::function<void()> f_ ) : f(f_) {}
 
    void call() {
        f();
    }
};
 
void test( int a, int b, int c ) {
    std::cout << __PRETTY_FUNCTION__ << " : " << a << b << c << std::endl;
}
 
int main() {
    auto f = std::bind( test, 1, 2, 3 );
    function_holder fh( f );
    fh.call();
}
 
Текущее время: 02:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru