Форум программистов, компьютерный форум, киберфорум
Наши страницы

Функция должна принять указатель на саму себя - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Хранение экземпляров классов-наследников, и вызов их методов http://www.cyberforum.ru/cpp-beginners/thread1065275.html
Столкнулся с проблемой. Есть класс-родитель и 2 класса-наследника. class Base { public: void baseFunc(); }; class Derived1 : public Base
C++ Получить все возможные варианты комплектов книг. Исправить код #include<iostream.h> using namespace std; int main() { int i=0, j=0, k=0, m=0; while(i<7) { http://www.cyberforum.ru/cpp-beginners/thread1065260.html
Определить структуру Модель Виндовс для работы с моделями экранных окон.В качестве полей задаются C++
Определить структуру Model Window для работы с моделями экранных окон.В качестве полей задаются:заголовок окна,координаты левого верхнего угла,размер по горизонтали,размер по вертикали,состояние...
C++ Найти уравнение прямой, проходящей через точку А
Найти уравнеие прямой (в форме альфа*x+бета*y+гамма=0),проходящей через точку А(X1,Y1) перпендикулярно к прямой ax+by+c=0. Пожалуйста помогите написать программу.
C++ Узнать какая кнопка была нажата SDL2.0 http://www.cyberforum.ru/cpp-beginners/thread1065234.html
Привет, как в этом примере узнать какая кнопка была нажата, я хочу сделать для каждой кнопки отдельное действия, но не могу понять, как узнать какая кнопка была нажата Код: /*This source code...
C++ Определить, можно ли представить число в виде суммы двух квадратов натуральных чисел Дано натуральное число n.Определить,можно ли представить его в виде суммы двух квадратов натуральных чисел.Если да,то найти все пары x,y такие,что n=x^2+y^2 (x<=y). Очень нужна ваша помощь,помогите... подробнее

Показать сообщение отдельно
outoftime
║XLR8║
755 / 655 / 88
Регистрация: 25.07.2009
Сообщений: 3,289
Записей в блоге: 5
07.01.2014, 23:36
DU, да, действительно, мой косяк. И все равно вариант с std::function мне куда больше нравится.

Добавлено через 4 минуты
Цитата Сообщение от daslex Посмотреть сообщение
CodeBlock ваш пример не компилирует
Project -> Build options -> Have g++ follow the C++11 ISO C++ language standart [-std=c++11]

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <functional>
 
template<typename OutputType, typename... Params>
OutputType foo(const std::function<OutputType(Params...)> &func, Params... params)
{
    return func(params...);
}
 
int main()
{
    std::function<int(int)> func = [](const int &value){ return value * 2; };
    std::function<bool(int)> odd = [](const int &value){ return value & 1; };
    std::function<double(int,int)> div = [](const int &a, const int &b){ return double(a) / b; };
    std::cout << foo(func, 10) << " " << std::boolalpha << foo(odd, 21) << " " << foo(div, 1, 2);
}
foo в данном случае шаблонная функция которая просто перевызывает функтор переданный ей в качестве аргумента.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru