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

Шаблоны с переменным числом аргументов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Простая задачка: Распаковка строки http://www.cyberforum.ru/cpp-beginners/thread671232.html
Задача D «Распаковка строчки» Будем рассматривать только строчки, состоящие из заглавных латинских букв. Например, рассмотрим строку*AAAABCCCCCDDDD. Длина этой строки равна 14. Поскольку строка состоит только из латинских букв, повторяющиеся символы могут быть удалены и заменены числами, определяющими количество повторений. Таким образом, данная строка может быть представлена как 4AB5C4D. Длина...
C++ Перевод числа из восьмиричной в десятичную систему счисления Здравствуйте! Вопрос такой. Мне нужно ввести с клавиатуры число и перевести его как бы (на самом деле в программе она должна находиться в десятичной) в восьмеричную систему счисления. Получившееся значение присвоить переменной. Как это можно реализовать??? http://www.cyberforum.ru/cpp-beginners/thread671226.html
Вещественная квадратная матрица, сортировка, нахождение максимального и минимального элемента C++
Доброе время суток. помогите пожалуйста с задачей (2 программы на С++, взаимосвязаны но нужно отдельно сделать) 1. Через массив задать вещественную квадратную матрицу, использую тип элемента массива- char. Эл-ты матрицы разные. Найти произведение ряда с наибольшим элементом, на столбец с наибольшим элементом. 2. на основе первой задачи с помощью функций (они должны иметь параметры -массив и ...
C++ Вычислить суточную производительность каждого полимера
Вычислить суточную производительность каждого полимера и всей батареи из 12-ти аппаратов, если съем полимера с одного кубометра объема равен 9 кг/час . Объем каждого полимеризатора - 12 кубических метров. Работа непрерывная. Помогите с задачей буду очень благодарен .
C++ ошибка в функции http://www.cyberforum.ru/cpp-beginners/thread671206.html
написала функцию, а препод говорит не правильно. В чем ошибка? Упорядочить строки прямоугольной матрицы по возрастанию количества одинаковых элементов в каждой строке. Найти номер первого из столбцов, не содержащих ни одного отрицательного элемента. #include "stdafx.h" #include <conio.h> #include <iostream> using namespace std;
C++ Хеширование У меня есть вариант хешировани данных для ГОСТ 28147-89. Помогите ее переделать под ГОСТ Р 34.11-94. вот http://www.gotdotnet.ru/files/107/ с этим исходником работаю. подробнее

Показать сообщение отдельно
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
14.10.2012, 23:19     Шаблоны с переменным числом аргументов
Вот такая портянка получилась. Завтра еще подумаю
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
52
53
54
55
56
57
58
59
60
61
#include <iostream>
#include <utility>
 
template <class T>
struct GetValue
{
    static constexpr T value = T();
};
 
template <class T>
struct GetValue<T&>
{
    static constexpr T value = T();
};
 
template <class T, class U>
struct Add
{
    using type = decltype(GetValue<T>::value + GetValue<U>::value);
};
 
template <class T>
struct Add<T, void>
{
    using type = T;
};
 
template <class... Args>
struct TypeAfterAdding;
 
template <>
struct TypeAfterAdding<>
{
    using type = void;
};
 
template <class T, class... Args>
struct TypeAfterAdding<T, Args...>
{
    using type = typename Add<T, typename TypeAfterAdding<Args...>::type>::type;
};
 
template <class T>
T sum(T&& t)
{
    return t;
}
 
template <class T, class... Args>
auto sum(T&& t, Args&&... args)
    -> typename TypeAfterAdding<T, Args...>::type
{
    return t + sum(std::forward<Args>(args)...);
}
 
int main()
{
    int n = 15;
    std::cout << sum(3.14, 4, n) << std::endl;
    return 0;
}
yuron_477, у меня последний код корректно отрабатывает с lvalue и rvalue. Причину я описал в посте #4

Добавлено через 6 минут
Кстати, нашел этот-же вопрос на so
http://stackoverflow.com/questions/3...plate-function
 
Текущее время: 21:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru