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

[дизайн и эволюция] провалы в variadic конструкторы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести 10 самых длинных (по числу символов) предложений http://www.cyberforum.ru/cpp/thread1637394.html
Ребят программисты помогите, понимаю что программа легкая. Но не могу сделать. Текст надо считать из файла.
C++ Найти причины и способы устранения ошибки Во время откладки указатель на число выдает мусор типо -81791524 #include <stdlib.h> #include <time.h> #include <iostream> #include <conio.h> #include <cctype> using::std::cin; using::std::cout; using::std::endl; http://www.cyberforum.ru/cpp/thread1637383.html
Как лучше всего пробежать все элементы контейнера? C++
Речь о следующем. Есть vector. Я хочу пробежать все его элементы, но походу я буду проверять удовлетворяют они определенному условию или нет. Если да, то этот элемент удаляется. Как это лучше всего реализовать?
C++ Найти сумму ряда
Ребят, голову ломаю и никак не осилю. В чем смысл вообще? Я понять формулу даже не могу, не то что уж код написать здесь. Какие-то "-...+". Что это вообще? Помогите кто чем может.
C++ Вычислить произведение отрицательных элементов массива http://www.cyberforum.ru/cpp/thread1637347.html
Приветствую вас дорогие форумчане. Прошу о помощи в изменении программы. В коде предоставленном ниже требуется заменить: рандомный подбор чисел на вводимый. Зарание спасибо! (Текст задания: В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1.) произведение отрицательных элементов массива; 2.) сумму положительных элементов массива, расположенных до максимального элемента....
C++ Реализовать структуру "Student" Создайте программу для ввода и вывода фамилий и оценок студентов. Введите не менее 10 студентов. Отберите студентов, у которых вторая и четвертая оценка 2 подробнее

Показать сообщение отдельно
DrOffset
6786 / 3997 / 917
Регистрация: 30.01.2014
Сообщений: 6,816
13.01.2016, 19:28     [дизайн и эволюция] провалы в variadic конструкторы
Цитата Сообщение от ct0r Посмотреть сообщение
пример кода
Наверное не совсем то, о чем он говорил, но с ними (с вариадик конструкторами) можно, например, вот такие штуки проворачивать (ключевое выделил комментарием):
Кликните здесь для просмотра всего текста

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
#include <cstdio>
#include <tuple>
#include <utility>
#include <functional>
 
template <typename ...F>
class C
{
public:
    C(std::tuple<F...> const & args)
        : C(args, std::make_index_sequence<sizeof...(F)>{})
    { }
    
    void operator()() const
    {
        for(auto && f : m_funcs)
            f();
    }
    
private:
    template <typename R, typename ...Args>
    static auto autobind(R (f)(Args...))
    {
        return std::bind(f, Args()...);
    }
  
    template <size_t ...Indices>
    C(std::tuple<F...> const & args, std::index_sequence<Indices...>) // <---- здесь
        : m_funcs{ autobind(std::get<Indices>(args))... }
    { }
        
    std::function<void()> m_funcs[sizeof...(F)];
};
 
template <typename ...F>
auto make_funclist(F ...f)
{
    return C<F...>{ std::make_tuple(f...) };
}
 
void f1()    
{ std::printf("1\n"); }
void f2(int) 
{ std::printf("2\n"); }
void f3(int, double) 
{ std::printf("3\n"); }
 
int main()
{
    make_funclist(f1, f2, f3)();
}
http://rextester.com/YXXUI48392
 
Текущее время: 14:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru