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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ MPI задача коммивояжера методом ветвей и границ http://www.cyberforum.ru/cpp/thread1637290.html
помогите реализацией задача коммивояжера методом ветвей и границ на вычислительном кластере. может у кого то готовая программа есть или пример
C++ Нужна программа Логическая игра "Маджонг" может кто делал Игра Маджонг, В ходе игры необходимо очистить игровое поле, убирая одинаковые фишки. удаляться они могут только в том случае, если у фишки открыта хотя бы одна сторона. Сложность игры зависит от... http://www.cyberforum.ru/cpp/thread1637074.html
C++ Скомпилировать OpenPegasus под Win32. C/C++
Помогите скомпилировать OpenPegasus под Win32. C/C++ Есть проект OpenPegasus под Unix. Нужно его скомпилировать под Windows. Цель - поднять WMI/Wbem service provider на Win32. Исходники...
Снимок с веб-камеры C++
нашел такой пример, который выводит на окно видео в режиме онлайн с вэб камеры http://pastebin.com/c9LCaLRT (из за ограничения количества символов в сообщении пришлось залить код на пастебин) ...
C++ При расшифровке RSA-сообщений на клиенте происходит ошибка http://www.cyberforum.ru/cpp/thread1634821.html
разрабатываю приложение на основе протокола подбрасывания честной монеты с использованием открытых и закрытых ключей, конкретно - ключей RSA. Сгенерила две пары ключей RSA, как и требуется, с...
C++ Написать программу для наххождения НОД, НОК Разработка Windows-приложения (в Qt) определения наибольшего общего делителя, наименьшего общего кратного и простых чисел для заданных больших чисел. Именно чтобы можно было вводить большие числа,... подробнее

Показать сообщение отдельно
Croessmah
Эксперт CЭксперт С++
13425 / 7580 / 856
Регистрация: 27.09.2012
Сообщений: 18,670
Записей в блоге: 3
Завершенные тесты: 1
02.08.2016, 08:21
Как вариант:
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
namespace details{
    template <class ...T> struct is_same_one;
        
    template <class T>
    struct is_same_one<T> {
        static constexpr bool value = false;
    };
     
    template <class T, class U, class... Args>
    struct is_same_one<T, U, Args...> {
        static constexpr bool value = (sizeof...(Args) == 0) && std::is_same<std::decay_t<T>, std::decay_t<U>>();//или is_base_of
    };
}
 
 
 
 
 
 
 
namespace variadic {
 
struct plasma {
    template<typename...Arg, typename = std::enable_if_t<!details::is_same_one<plasma, Arg...>::value, void>*>
    plasma(Arg&&...args) {
        std::cout<<"variadic construct\n" ;
    }
    plasma() { std::cout<<"construct\n"; }
    plasma(const plasma& rhs) { std::cout<<"copy construct\n"; }
    plasma(plasma&& rhs) { std::cout<<"move construct\n"; }
};
 
}
 
int main() {
        variadic::plasma pls(8);
        const variadic::plasma plss = std::move(pls);
        variadic::plasma plsss = plss;
        variadic::plasma plssss;
        variadic::plasma plsssss;
        variadic::plasma plssssss(std::move(plss));
        variadic::plasma plsssssss(std::move(plsssss));
}
http://rextester.com/IQQJ52309
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru