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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ MPI задача коммивояжера методом ветвей и границ http://www.cyberforum.ru/cpp/thread1637290.html
помогите реализацией задача коммивояжера методом ветвей и границ на вычислительном кластере. может у кого то готовая программа есть или пример
C++ Нужна программа Логическая игра "Маджонг" может кто делал Игра Маджонг, В ходе игры необходимо очистить игровое поле, убирая одинаковые фишки. удаляться они могут только в том случае, если у фишки открыта хотя бы одна сторона. Сложность игры зависит от раскладки...чем больше открытых фишек, тем проще их убирать с поля.. игра может длиться долгое время. Нужна программа на С++ не важно Visual, Builder ,... итд http://www.cyberforum.ru/cpp/thread1637074.html
C++ Скомпилировать OpenPegasus под Win32. C/C++
Помогите скомпилировать OpenPegasus под Win32. C/C++ Есть проект OpenPegasus под Unix. Нужно его скомпилировать под Windows. Цель - поднять WMI/Wbem service provider на Win32. Исходники https://collaboration.opengroup.org/pegasus/documents.php?action=show&dcat=&gdid=32572
Снимок с веб-камеры C++
нашел такой пример, который выводит на окно видео в режиме онлайн с вэб камеры http://pastebin.com/c9LCaLRT (из за ограничения количества символов в сообщении пришлось залить код на пастебин) мне надо просто сохранять снимок, я попробовал сделать тоже самое в консоли получилось примерно так: #include <windows.h> #include <vfw.h> //Remember to Link to vfw32 Library, gdi32 Library
C++ При расшифровке RSA-сообщений на клиенте происходит ошибка http://www.cyberforum.ru/cpp/thread1634821.html
разрабатываю приложение на основе протокола подбрасывания честной монеты с использованием открытых и закрытых ключей, конкретно - ключей RSA. Сгенерила две пары ключей RSA, как и требуется, с одинаковым модулем n (в структуре openssl rsa - rsa->n). необходимо зашифровать данные первым открытым ключом на стороне, скажем, сервера, отослать другой стороне - клиенту. клиент, собственно, должен...
C++ Написать программу для наххождения НОД, НОК Разработка Windows-приложения (в Qt) определения наибольшего общего делителя, наименьшего общего кратного и простых чисел для заданных больших чисел. Именно чтобы можно было вводить большие числа, (например 438589746982457940984789237589723905839057895425). И если пролучится, то вести работу не с 2умя числами, а с массивом. С ценой вопроса по почте kartofaan@gmail.com подробнее

Показать сообщение отдельно
tapochka
39 / 39 / 8
Регистрация: 25.04.2014
Сообщений: 494
02.08.2016, 01:33     [дизайн и эволюция] провалы в variadic конструкторы
hoggy, я тут помозговал... вот вполне юзабельное решение , правда допиливать надо, ибо я так и не смог устранить проблему с конструктором копии:
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
#include <boost/mpl/if.hpp>
#include <boost/mpl/vector.hpp>
#include <boost/mpl/find.hpp>
 
namespace variadic {
 
struct plasma {
    template<typename...Arg,
             typename = typename std::enable_if<
                            boost::mpl::find<
                                        typename boost::mpl::vector<std::decay<Arg>...>,
                                        plasma
                                            >::type::pos::value
                                        == boost::mpl::size<
                                                    typename boost::mpl::vector<Arg...>
                                                            >::type::value
                                      >::type*
             >
    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("dfa",2,3.);
        const variadic::plasma plss = std::move(pls);  //если убрать const то не вызывается конструктор копии
        variadic::plasma plsss = plss;
        variadic::plasma plssss;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru