Могут ли теоретически существовать методы с неопределенным числом аргументов?01.08.2015, 19:49. Показов 3857. Ответов 47
Метки нет (Все метки)
0
|
|
| 01.08.2015, 19:49 | |
|
Ответы с готовыми решениями:
47
Функция с неопределенным количеством аргументов Как отфильтровать сводную таблицу, если все критерии могут не существовать? Найти все возможные треугольники, которые могут существовать. Результат вывести на экран. |
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||
| 03.08.2015, 12:10 | ||
|
0
|
||
|
|
|
| 03.08.2015, 12:14 | |
|
Так потому я и говорю, что это не технология безопасности, а поделка. Она в большинстве жизненных случаев поймает пользователя за руку. Но не всегда. И не на всех компиляторах. В то время как подход Си++ попросту не даст возможности пользователю выстрелить себе в ногу. Но платой за это является потеря гибкости при работе и навязанная необходимость всё делать через шаблоны и огромное количество кода в хидерах
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 03.08.2015, 12:17 | |
|
0
|
|
|
|
|
| 03.08.2015, 12:17 | |
|
Думается, для условного my_printf (которая не обязательно занимается печатью) с динамически сгенерированной форматной строкой для Си++ вменяемого аналога нет (как в своё время не было variadic template'ов). Пока это не будет статистически значимым, в Си++ никто не будет чего-то вносить по этому поводу. Но если вдруг понадобится, то может и придумают очередную монстровую конструкцию
0
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||
| 03.08.2015, 13:03 | ||||
|
Например, если поделку стандартизировать, будет ли она считаться технологией по твоему мнению? Я тут не делал различий, наверное поэтому фраза
1
|
||||
|
|
|||||||
| 03.08.2015, 13:10 | |||||||
|
Да и работает оно, строго говоря, некорректно. Если подать формат %d, а значение подавать типа unsigned, то с точки зрения стандарта код некорректен, но по факту такая комбинация используется широко и повсеместно, из-за чего gcc'шники в подобных случаях предупреждения не выдают
Code $ gcc t.c -c -Wall t.c: In function 'foo': t.c:6:3: warning: format '%ld' expects argument of type 'long int', but argument 2 has type 'unsigned int' [-Wformat=] printf ("%ld\n", x); В технологиях, используемых в Си++ невозможно отвязать значение от типа, а потому подобные моменты там в принципе возникнуть не могут. Поэтому вариант из Си++ уже тянет на то, чтобы назвать его словом "технология"
0
|
|||||||
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
||
| 03.08.2015, 14:24 | ||
|
0
|
||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 03.08.2015, 14:41 | ||||||
|
Касательно вариадиков, помните, что можно все делать без рекурсии.
7
|
||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 03.08.2015, 15:17 | |
|
0
|
|
|
|
||
| 03.08.2015, 15:19 | ||
|
0
|
||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||
| 03.08.2015, 16:05 | ||||||
|
немного упростил и доработал вариант ForEveR:
Ну, и минус такой версии, что не работает с нулевым кол-вом параметров.
3
|
||||||
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||||||||||||||
| 03.08.2015, 23:06 | |||||||||||||||
Для полноты картины.Добавлено через 18 минут Короче, я сам продаунгрейдил функцию при "оптимизации" В исходном варианте возможность вызова с нулевым кол-вом аргументов была. Возвращаю:
Могу ещё такой вариант предложить:
Добавлено через 5 часов 39 минут
5
|
|||||||||||||||
|
|
||
| 04.08.2015, 08:38 | ||
|
Добавлено через 3 минуты А то множество возможностей написания кода на Си++ в общем-то показывает ущербность той технологии, по которой пошли в Си++. Вместо простого программирования начинаются соревнования на тему как лучше это записать в Си++. Но зато надёжность (строгая типизация)
1
|
||
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|||
| 04.08.2015, 13:00 | |||
0
|
|||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 04.08.2015, 14:13 | |
|
Tulosba, Там void() не спроста был в принципе, как подсказали товарищи на SO.) (здесь оно конечно не нужно, но в целом может пригодиться) http://stackoverflow.com/quest... 0#31743450
1
|
|
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|||
| 04.08.2015, 15:01 | |||
|
Не по теме:
0
|
|||
|
|
||||
| 04.08.2015, 16:45 | ||||
|
0
|
||||
|
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
|
|||
| 04.08.2015, 17:07 | |||
В этой теме от тебя был только кусочек кода с примером использования C'шного printf. Ты что с чем сравниваешь-то? Использование функции с её реализацией? Типа смотрите как легко на С использовать printf и как сложно на ущербном C++ реализовать типобезопасный printf. Так что-ли?
0
|
|||
| 04.08.2015, 17:07 | |
|
Структура представления данных, где у родителя могут существовать более двух потомков
Функции с неопределенным числом фактических параметров
Вводится строка из нескольких слов и чисел,разделенных неопределенным числом пробелов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|