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

[дизайн и эволюция] провалы в 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) определения наибольшего общего делителя, наименьшего общего кратного и простых чисел для заданных больших чисел. Именно чтобы можно было вводить большие числа,... подробнее

Показать сообщение отдельно
ct0r
Игогошка!
1776 / 678 / 42
Регистрация: 19.08.2012
Сообщений: 1,294
Завершенные тесты: 1
13.01.2016, 15:34
Цитата Сообщение от Kastaneda Посмотреть сообщение
По вопросу использования - как вариант можно дергать делегирующие конструкторы, которые будут дергать другие делегирующие конструкторы, таким образом программист может регулировать порядок инициализации членов передавая в конструктор аргументы в разном порядке.
Не совсем понял. Звучит все же так, как будто это не нужно Можно пример кода?

Цитата Сообщение от Kastaneda Посмотреть сообщение
а для чего 2 раза remove_reference в этих конструкциях
Ни для чего. Достаточно одного раза.

Цитата Сообщение от hoggy Посмотреть сообщение
"workground"
что в переводе на русски, должно означать "обходной путь":
Только не workGround, а workAround. Я заметил, что это не опечатка

Цитата Сообщение от Croessmah Посмотреть сообщение
Не, камаз с трактором тут не прокатят
Пентхаус? Раскулачивать пора

Цитата Сообщение от Kastaneda Посмотреть сообщение
И еще про "зачем это надо" - если бы добавили вариадики, но не добавили возможность конструкторам их использовать, то на всех С++ ресурсах было бы много негодования на тему "почему везде можно, а в конструкторе нет", не смотря на то, что пользы от этого мало
Ну мне приходят на ум случаи, когда вариадик конструкторы могут пригодиться, но чтобы при этом нужен был особенный конструктор копирования или в этом роде

Я немного пошукал в инете:
1) Если можно обойтись списком инициализации, то так и лучше делать.
2) Этот конфликт между конструкторами предлагалось разрешить, но комитет сказал: есть sfinae, а скоро будут концепты, поэтому нафиг.
3) Ребята на stackoverflow считают, что нестандартные конструкторы предпочтительнее sfinae.

PS Я особо не разбирался, сейчас времени нет, но если написать вот так, то конкретно в данном примере выдаст точно такой же результат (вариадик не работает, если аргументов нет или есть один аргумент, который кастится):
C++
1
2
3
4
        template<typename Arg, typename ...Args, typename =
          std::enable_if_t<
            !(sizeof...(Args) == 0 && std::is_convertible<Arg, example>::value)>
        >
Добавлено через 19 минут
Цитата Сообщение от Croessmah Посмотреть сообщение
Да и сколько должно быть этих списков?
Сколько хочешь. Вариадик конструкторы же ж. Тут есть свои ограничения, но ты можешь зато эти списки в рантайме формировать, что плюс. Все зависит от конкретных условий.
3
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru