Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ SDL не отпускает. любимая LNK2019 LNK1120 Доброго времени суток. Вопрос следующий имею такую ошибку Ошибка LNK2019 ссылка на неразрешенный внешний символ _IMG_Load в функции "public: void __thiscall Game::init(char const... https://www.cyberforum.ru/ cpp-beginners/ thread2490310.html C++ Как пропустить часть кода при компиляции?
Я хочу объявить макрос #define и вызвать этот макрос далее в коде? Есть нужда в том чтобы пропустить компиляцию этого макроса. Приведите пожалуйста пример как это выглядит.
C++ Объединение векторов https://www.cyberforum.ru/ cpp-beginners/ thread2490261.html
Помогите, пожалуйста, решить задачу. Заданы два вектора с различным количеством элементов и натуральное число k (количество элементов векторов и k вводятся с клавиатуры). Объединить их в один...
C++ Значения столбцов и строк в выбранном ряду матрицы поменять на противоположные Привет,нужна подсказка.Пишу алгоритм.Есть какая-то матрица из 0 и 1 произвольного размера.Пользователь выбирает клетку в этой матрице и значения столбцов и строк в этом ряду,а также самой клетки... https://www.cyberforum.ru/ cpp-beginners/ thread2490254.html
C++ Программа диагностики заболеваний
Хочу написать программу на плюсах, которая по симптомам ставит диагноз. Думаю создать класс болезнь и от неё унаследовать конкретные заболевания. Как тогда можно будет выполнить метод, который...
C++ Не работает проверка на диапазон При вводе баллов из нужного диапазона(0-100)- код не выполняется, а снова запрашивает ввод. Выполняется при вводе чисел больших 100. int Ball=0; int Grade=0; while(Ball >= 0 && Ball <= 100)... https://www.cyberforum.ru/ cpp-beginners/ thread2490210.html
C++ Нужно больше Меерса https://www.cyberforum.ru/ cpp-beginners/ thread2490191.html
Читаю книгу https://www.ozon.ru/context/detail/id/19383908/, там в начале книги некоторые личности делают отзывы о этой книге и Стив Беркетт пишет что помимо этой книги есть еще первая книга Скотта,...
Как читать и писать в файл "одновременно" C++
Смысл такой. В С++ есть два варианта открытия файла ifstream и ofstream один для чтения а другой для записи. А что делать если скажем происходит попеременное чтение и запись в один и тот же файл? ...
C++ Задача на динамическое программирование https://www.cyberforum.ru/ cpp-beginners/ thread2490163.html
Узник пытается бежать из замка, который состоит из N×M квадратных комнат, расположенных в виде прямоугольника NxM. Между любыми двумя соседними комнатами есть дверь, однако некоторые комнаты закрыты...
C++ Frontend и Backend разработчик Добрый день! Что делает Frontend и Backend разработчик насколько я понял у них разные обязанности? https://www.cyberforum.ru/ cpp-beginners/ thread2490152.html
Вызов невиртуального метода в классе-наследнике C++
Добрый день! Имеется следующий код: #include <iostream> using namespace std; namespace some {
C++ Итератор for работает не правильно. Не могу понять отчего https://www.cyberforum.ru/ cpp-beginners/ thread2490121.html
Дано задание: Люди стоят в очереди, но никогда не уходят из её начала, зато могут приходить в конец и уходить оттуда. Более того, иногда некоторые люди могут прекращать и начинать беспокоиться из-за...
Эксперт С++
8406 / 4081 / 892
Регистрация: 15.11.2014
Сообщений: 9,172
12.08.2019, 15:55 0

Класс сигнала на Variadic Template - C++ - Ответ 13766569

12.08.2019, 15:55. Показов 1358. Ответов 3
Метки (Все метки)

Лучший ответ Сообщение было отмечено dpytaylo как решение

Решение

Цитата Сообщение от dpytaylo Посмотреть сообщение
mutable std::vector<void(T...)> callbacks;
так ты смотри что именно ты пытаешься в векторе хранить.
функции по значению.


лекарство:

https://rextester.com/NJKD71164

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef SIGNAL_H
#define SIGNAL_H
 
// STD
#include <vector>
#include <functional>
 
template <typename ...T>
class Signal
{
    using callback_t = std::function<void(T&&...)>;
public:
    Signal()
        :callbacks()
    { this->callbacks.reserve(5); }
        
 
    template<class Callable>
    size_t addCallback(Callable&& callback)
    {
        this->callbacks.emplace_back(
            std::forward<Callable>(callback)
        );
        return callbacks.size() - 1;
    }
 
    template<class... Args>
    void emit(Args&&... args) const
    {
        for (const auto& callback : this->callbacks)
            if (callback)
                callback(std::forward<Args>(args)...);
    }
 
private:
    std::vector<callback_t> callbacks;
};
 
 
#endif // !SIGNAL_H
 
 
#include <iostream>
 
 
int main()
{
    Signal<> signal;
    signal.addCallback([]() { std::cout << "Hello world!" << std::endl; });
    signal.emit();
}


Вернуться к обсуждению:
Класс сигнала на Variadic Template C++
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.08.2019, 15:55
Готовые ответы и решения:

Variadic template
Добрый день, господа. Будьте добры, помогите кто может. Есть у меня шаблонный класс ...

С++ 11 Variadic template
не работает, как правильно? template&lt;typename T, typename... ArgTypes&gt; struct...

recursion with variadic template
#define NOT_COMPILE 1 #if NOT_COMPILE // так не компилится template &lt;class Type, unsigned...

Не работает variadic template
привет. код #include &lt;typeinfo&gt; #include &lt;iostream&gt; #include &lt;deque&gt; using namespace std; ...

3
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.08.2019, 15:55

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Variadic template lambda capture
Доброго всем дня! Речь пойдёт об C++14, в котором стало возможным делать прямую передачу в...

Как правильно перебросить аргументы в variadic template?
всем привет, можете помочь пж, есть такая ф-ция: template&lt;typename ... Args&gt; inline wstring...

Variadic Templates - как обращаться к аргументам variadic-функции?
Всем привет! Наверное, рано мне ещё с моими скудными знаниями в это лезть, но, изучив шаблоны и...

Своеобразное раскрытие аргументов variadic template
Товарищи. Как бы сделать так, чтобы variadic раскрылся в нечто такое: template &lt;typename ......

Перенаправление указателя при перегрузке оператора в variadic template
Есть вот такой вот код (сделан в vs2014): #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include...

Variadic templates, или variadic constructor в шаблоне, или прочие извращения
Здравствуйте. Есть такое Wrapper&lt;Obj&gt; w; Wrapper - обертка над объектом того класса, который...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.