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

Распаковка кортежа - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заменить на динамический массив http://www.cyberforum.ru/cpp-beginners/thread1302032.html
Ребят , если не сложно , помогите все массивы в этой программе , заменить на динамические. #include <iostream.h> #include <windows.h> int main() { cout << "Razmernost : " << endl; int c; int...
C++ Найти слово, в котором доля гласных (a, e, i, o, u, y) максимальна Доброго времени суток! Собственно начну с задания: Разработать программу, определяющую во введенном тексте на английском языке слово, в котором доля гласных (a, e, i, o, u, y) максимальна. а вот... http://www.cyberforum.ru/cpp-beginners/thread1302026.html
Создание динамического массива строк C++
Всем доброго утра/вечера/дня. Возникла такая проблема. Не могу создать динамический массив строк. Т.е. нужно при вводе с клавиатуры забивать в первую строку массива 1 слово и так после каждого...
Добавить к каждому числу, кроме последнего, значение следующего C++
Пожалуйста, помогите с задачкой. Проблема в составлении цикла do while (добавив к каждому числу, кроме последнего, значение следующего) Задача: Вводится последовательность вещественных чисел,...
C++ Удалить из списка элемент перед каждым элементом со значением 3 http://www.cyberforum.ru/cpp-beginners/thread1301994.html
Удалить из списка элемент перед каждым элементом со значением 3. Добавлено через 8 часов 12 минут Создать циклический двунаправленный список из вещественных чисел. Удалить из списка элемент...
C++ Ошибка при попытке создания шаблона В чём ошибка? Функции Map::isGardenWithoutWallFlag, Map::setNothing, Map::incrementRoad, Map::setFlagWall имеют действительно такие аргументы, какие надо. Ошибка появилась, как только я добавил в... подробнее

Показать сообщение отдельно
Кот Ангенс
317 / 267 / 38
Регистрация: 24.05.2012
Сообщений: 629

Распаковка кортежа - C++

16.11.2014, 14:59. Просмотров 718. Ответов 3
Метки (Все метки)

Подскажите, пожалуйста, как можно вызвать функцию, передав ей в качестве аргументов некоторые значения, подсчитанные заранее и упакованные в какой-либо объект? Подозреваю, что нужно использовать std::tuple, только не понимаю, как.

Должно получиться нечто вроде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
template <class T, typename... Args>
class Factory {
public:
    explicit Factory(const Args&... args): _args(args...) { }
 
    auto Produce() const -> std::unique_ptr<T> {
        return std::make_unique<T>(/*?*/);
    }
 
private:
    std::tuple<Args...> _args;
};
На Python такое выглядит следующим образом:
Python
1
2
3
4
5
6
7
class Factory:
    def __init__(self, func, args):
        self.func = func
        self.args = args
 
    def produce(self):
        return self.func(*self.args) # Унарная звездочка - оператор распаковки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru