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

Шаблон функции с разным возвращаемым типом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Пузырьковая сортировка http://www.cyberforum.ru/cpp-beginners/thread409132.html
пузырьковая сортировка первый метод, по возрастанию и по убыванию. сначало вводиться число элементов массива, затем вводиться элементы массива соответственно. вторая часть, графика, на отдельном окне появляется строка для ввода элементов массива, затем появляются столбики с элементами и вид всей сортировки. если можно с коментариями, заранее спасибо)))
C++ комплексные числа Написать программы умножения комплексного числа на действительное, проверки равенства двух комплексных чисел. можно с объяснениями, пожалуйста http://www.cyberforum.ru/cpp-beginners/thread409127.html
умножение многочленов C++
Написать программу умножения многочленов P и Q
C++ Текстовые файлы
Здравствуйте, помогите пожалуйста. Совсем запуталась. Задан текстовый файл, в котором записана последовательность некоторых слов, разделенных одним или несколькими разделителями. 1.Найти все слова-числа, т.е. такие, которые состоят только из четных цифр. 2.Найденные слова-числа записать в динамический массив DArray.
C++ поиск значения функции и ее производной(можно с объяснениями) http://www.cyberforum.ru/cpp-beginners/thread409106.html
Коэффициенты многочлена сведены в последовательность в порядке возрастания степеней. Найти значение многочлена и его производной в точке х (число x вводится первым).
C++ Среда разработки Всем доброго времени суток. Народ посоветуйте в какой среде следует начать программирование на С++. Сейчас очень много всяких сред наплодилось, вот и хочу услышать дельный совет =) подробнее

Показать сообщение отдельно
LosAngeles
Заблокирован
16.12.2011, 20:12     Шаблон функции с разным возвращаемым типом
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
template <bool b, typename T1, typename T2> struct ifTrueThenFirst;
 
template <typename T1, typename T2> struct ifTrueThenFirst<true, T1, T2>
{
    typedef T1 ResultT;
};
 
template <typename T1, typename T2> struct ifTrueThenFirst<false, T1, T2>
{
    typedef T2 ResultT;
};
 
template <typename T1, typename T2> struct Promotion
{
    typedef typename ifTrueThenFirst< (  sizeof(T1) > sizeof(T2)  ), T1, T2  >::ResultT ResultT; 
};
 
 
 
 
template <typename T1, typename T2>
typename Promotion<T1, T2>::ResultT division(T1 a, T2 b)
{
    return a / b;
}
 
int main()
{
    float f = 435;
    double d = 45645;
    float f2 = division(f, d);
 
    return 0;
}
вот пример применения свойства продвижения, можно специализировать Promotion для некоторых типов, а по умолчанию будет выбран тип с наибольшим размером
 
Текущее время: 12:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru