|
|
|
Переменное число аргументов14.08.2012, 14:11. Показов 5654. Ответов 32
Метки нет (Все метки)
0
|
|
| 14.08.2012, 14:11 | |
|
Ответы с готовыми решениями:
32
Переменное число аргументов Передача в функцию переменное кол-во аргументов Переменное количество аргументов в функции ( зацикливание ) |
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|||||||||||
| 15.08.2012, 12:59 | |||||||||||
Сообщение было отмечено как решение
Решение
Pure, Как вариант.
Добавлено через 41 минуту ~OhMyGodSoLong~, Это все хорошо, но boost::any довольно неудобен в использовании, все-таки any_cast постоянно юзать не очень радует + это все-таки абсолютно разные вещи, std::vector<boost::any> вектор объектов, в то время как T... раскрывается в типы напрямую, то есть такое с any не напишешь
4
|
|||||||||||
| 15.08.2012, 13:30 | |
|
0
|
|
|
|
||||||
| 15.08.2012, 13:44 [ТС] | ||||||
|
ForEveR, т.е. итоговое решение выглядит так
луета конечно какая то. перепаковка тупла в рендж. скрестили бы сразу и то и другое в стандарте.
0
|
||||||
|
~ Эврика! ~
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
| 15.08.2012, 13:53 | |
|
ForEveR, я и не говорил, что оно замена статическому варианту. Ваш вариант для Pure сломается же ещё на стадии компиляции, если в кортеж засунуть что-то, что ostream не умеет выводить. Для полного счастья ещё бы отделить сам функтор от вот этого T seq;, но что-то у меня пока не выходит.
Для удобной динамической типизации надо рефлексию, а в Си++ её нет и не будет, пока темлейты будут кушаться при компиляции. Ну и, естественно, это потребует переделывать механику вызова функций. Ну, и это только подтверждает, что за этими всеми плюшками надо идти в динамические языки. Или в Хаскелл — у него выводилка типов достаточно умная.
1
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 15.08.2012, 15:19 | ||||||
|
Pure, Ну тут нет перепаковки. Рейндж используется исключительно для индексов.
~OhMyGodSoLong~, Ну да. Слом на этапе компиляции - это не так уж и плохо. Можно конечно SFINAE задействовать как-нибудь... Ща поковыряюсь ради интереса. Ну рефлексию-то очень даже предлагают ввести (говорил Страуструп что-то на эту тему). А так конечно с динамическими языками не сравнится. Добавлено через 1 час 25 минут Ну как-то так, но не сомневаюсь что можно и проще.
0
|
||||||
|
|
|
| 15.08.2012, 15:52 [ТС] | |
Сообщение было отмечено как решение
Решение
хотя ерунда. сейчас опять. std::get<1> std::get<2>.
снимаю задачу. из всего диалога какие выводы напросились. 1. если на этапе компиляции есть все исходные данные то работая std::get можно спокойно окучивать кортеж, который принял переменный список. 2. индексации по кортежу нормальной не было сделано. достаточно посмотреть монстрокод нужный для прохода. возникает вопрос а не зарыта ли глубоко в буст рекурсия? Если нет то что мешало сделать индексы кортежу. будь мужиком ставь лайк ![]()
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 15.08.2012, 16:16 | ||||||
|
Pure, Зарыта конечно. Шаблонное метапрограммирование на С++ в любом случае сводится к рекурсивной раскрутке шаблонов.
for_each к примеру. mpl::for_each
0
|
||||||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
||
| 15.08.2012, 16:35 | ||
|
"обыкновенного" статического перебора кортежа просто не может быть
2
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 15.08.2012, 16:51 | |
|
Pure, В том, что используются готовые алгоритмы. Нерекурсивных вариантов нет и быть не может.
0
|
|
| 15.08.2012, 16:53 [ТС] | |
|
Не по теме: alex_x_x, скажи а у тебя когда нибудь было повреждено ухо?
0
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 15.08.2012, 20:30 | |
|
Pure, нет а шо?
0
|
|
| 15.08.2012, 23:42 [ТС] | |
|
Не по теме: alex_x_x, да просто был у нас один парень.думали ухо у него повреждено. а потом выяснилось что все нормально с ухом было. чем то по стилю на тебя похож. покажи фотку
0
|
|
| 15.08.2012, 23:42 | |
|
Переменное число параметров шаблона Переменное число параметров функции - трабл с int Переменное число аргументов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Учебный мини "цифровой двойник" = (Сервер = Java + Flask_питон )+(3D = Гугловскаая 4T nvideo + google colab) +( WMS = Odoo на Docker)
anaschu 07.07.2026
Увидел в требованиях к вакансии создателя имитационных моделей связку (REst + Api + WMS + Anylogic + питон + 3D Nvideo), и решил посмотреть, что это такое. Из этого всего я работал более менее. . .
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|