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

Шаблонное вычисление типов и Variadic Templates - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить номер строки квадратной матрицы с максимальной суммой элементов http://www.cyberforum.ru/cpp-beginners/thread1609713.html
Написать программу, которая определяет номер строки квадратной матрицы, сумма элементов которой максимальна.
C++ Поднять asmx-сервер и клиентом на C++ достучаться до методов сервака (как добавить ссылку на веб-сервис?) Всем доброго времени суток! Стоит задача поднять asmx сервис (сервер) и клиентом на с++ достучаться до методов сервака. Если писать клиент на шарпе, проблем нет, т.к. там есть возможность... http://www.cyberforum.ru/cpp-beginners/thread1609709.html
C++ Распечатать координаты вектора
Распечатать координаты вектора, равного разности двух векторов a и b размерностью n=10 и найти его модуль.
Как собрать программу ?(Заранее прошу прощения, у администрации если что то нарушил) C++
Подскажите пожалуйста как собрать вот этот код? : #include <windows.h> #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused WINAPI...
C++ Запросить у пользователя массив из 10 строк и вывести на экран наименьшую http://www.cyberforum.ru/cpp-beginners/thread1609676.html
3) Запросить у пользователя массив из 10 строк и вывести на экран наименьшую
C++ Объединить две строки 2) Объявить заранее проинициализированную строку из 10 символов, и еще одну из 5. В третью строку длиной 13 символов добавить сначала первую, потом вторую, не превышая размер. подробнее

Показать сообщение отдельно
DrOffset
7376 / 4453 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
11.12.2015, 13:33
Цитата Сообщение от Mirmik Посмотреть сообщение
Можно ли сделать что-то вроде этого
Можно.
Кликните здесь для просмотра всего текста
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
// compile with C++11, GCC compatible compiler.
 
template <typename R, typename ...V>
struct rebind_args;
 
template <typename R, typename C, typename... V>
struct rebind_args<C (R()), V...>
{
    using type = R(C::*)(V...);
};
template <typename R, typename... V>
struct rebind_args<R(), V...>
{
    using type = R(*)(V...);
};
 
template <typename T>
struct mtd_parser;
 
template <typename R, typename T, typename ...V>
struct mtd_parser<R(T::*)(V...)>
{
    template <typename NF>
    using rebind_args_to = rebind_args<T (NF), V...>;
};
template <typename R, typename ...V>
struct mtd_parser<R(*)(V...)>
{
    template <typename NF>
    using rebind_args_to = rebind_args<NF, V...>;
};
/*************************/
 
template <typename T>
void print()
{
    printf("%s\n", __PRETTY_FUNCTION__);
}
 
struct C{};
 
int main()
{
    void* (*ptr)(int, double);
    void* (C::*ptr1)(int, double);
 
    mtd_parser<decltype(ptr)>::rebind_args_to<void*()>::type ptr2;
    mtd_parser<decltype(ptr1)>::rebind_args_to<void*()>::type ptr3;
 
    print<decltype(ptr2)>();
    print<decltype(ptr)>();
    print<decltype(ptr3)>();
}
http://rextester.com/NYS75365
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru