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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести 10 самых длинных (по числу символов) предложений http://www.cyberforum.ru/cpp/thread1637394.html
Ребят программисты помогите, понимаю что программа легкая. Но не могу сделать. Текст надо считать из файла.
C++ Найти причины и способы устранения ошибки Во время откладки указатель на число выдает мусор типо -81791524 #include <stdlib.h> #include <time.h> #include <iostream> #include <conio.h> #include <cctype> using::std::cin; using::std::cout; using::std::endl; http://www.cyberforum.ru/cpp/thread1637383.html
Как лучше всего пробежать все элементы контейнера? C++
Речь о следующем. Есть vector. Я хочу пробежать все его элементы, но походу я буду проверять удовлетворяют они определенному условию или нет. Если да, то этот элемент удаляется. Как это лучше всего реализовать?
C++ Найти сумму ряда
Ребят, голову ломаю и никак не осилю. В чем смысл вообще? Я понять формулу даже не могу, не то что уж код написать здесь. Какие-то "-...+". Что это вообще? Помогите кто чем может.
C++ Вычислить произведение отрицательных элементов массива http://www.cyberforum.ru/cpp/thread1637347.html
Приветствую вас дорогие форумчане. Прошу о помощи в изменении программы. В коде предоставленном ниже требуется заменить: рандомный подбор чисел на вводимый. Зарание спасибо! (Текст задания: В одномерном массиве, состоящем из n вещественных элементов, вычислить: 1.) произведение отрицательных элементов массива; 2.) сумму положительных элементов массива, расположенных до максимального элемента....
C++ Реализовать структуру "Student" Создайте программу для ввода и вывода фамилий и оценок студентов. Введите не менее 10 студентов. Отберите студентов, у которых вторая и четвертая оценка 2 подробнее

Показать сообщение отдельно
ct0r
C++/Haskell
 Аватар для ct0r
1557 / 576 / 39
Регистрация: 19.08.2012
Сообщений: 1,193
Завершенные тесты: 1
13.01.2016, 15:34     [дизайн и эволюция] провалы в variadic конструкторы
Цитата Сообщение от 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 Посмотреть сообщение
Да и сколько должно быть этих списков?
Сколько хочешь. Вариадик конструкторы же ж. Тут есть свои ограничения, но ты можешь зато эти списки в рантайме формировать, что плюс. Все зависит от конкретных условий.
 
Текущее время: 06:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru