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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Ferrari F1
=^_^=
550 / 437 / 93
Регистрация: 27.01.2015
Сообщений: 2,550
Записей в блоге: 1
Завершенные тесты: 1
#1

Могут ли теоретически существовать методы с неопределенным числом аргументов? - C++

01.08.2015, 19:49. Просмотров 1066. Ответов 47
Метки нет (Все метки)

Разумно ли использовать va args в таких ситуациях?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2015, 19:49     Могут ли теоретически существовать методы с неопределенным числом аргументов?
Посмотрите здесь:

Чем могут отличаться формальные параметры функции от ее аргументов? - C++
Если кто знает может помочь ответить на вопросы. Заранее спасибо 1 . Чем могут отличаться формальные параметры функции от ее аргументов ?...

Функции с переменным числом аргументов - C++
на пример sum(2,56,515,-23.65,548)?

Шаблоны с переменным числом аргументов - C++
Написал шаблон функции с переменным числом аргументов которая считает сумму своих аргументов. Практики по этому вопросу не имею, поэтому...

Функция с неуказанным числом аргументов - C++
Всем привет! Попытался реализовать функцию, которая выводит свои аргументы(все, кроме первого), но когда запускаю, она дополнительно ещё...

GCC и функции с переменным числом аргументов - C++
Писал мини приложение в студии для работы с векторами, один из методов просто получает сколько угодно аргументов и заполняет координаты...

Шаблонная функция с переменным числом аргументов - C++
Сабж. Каким образом можно запретить использование шаблонной функции, если тип одного из аргументов не соответствует требуемому? Есть...

Функция с переменным числом аргументов (через шаблоны) - C++
Доброго времени суток! Встал вопрос с реализацией такой функции. template<typename... Args> returntype functionname(const Args&......

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт CАвтор FAQ
17527 / 5765 / 368
Регистрация: 30.03.2009
Сообщений: 15,852
Записей в блоге: 26
04.08.2015, 17:18     Могут ли теоретически существовать методы с неопределенным числом аргументов? #41
Цитата Сообщение от Voivoid Посмотреть сообщение
В этой теме от тебя был только кусочек кода с примером использования C'шного printf
В этой теме был кусочек кода с функцией условно my_printf, который до появления variadic templates в C++11 на C++ и написать-то нельзя было

Типобезопасность Си++ я никак не отношу к ущербности. Если ты хотя бы читал, что я пишу, то я довольно чётко описал, что типобезопасность Си++ (как следствие программирования через шаблоны) является платой за то, что программист не может сделать так, как ему хочется, а вовсе не самоцелью. Т.е. аналог моей короткой функции, которую можно было бы поместить в *.c (но не в хидер) на Си++ до сих пор написать нельзя. Это и есть ущербность Си++
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
04.08.2015, 17:21     Могут ли теоретически существовать методы с неопределенным числом аргументов? #42
Цитата Сообщение от Evg Посмотреть сообщение
который до появления variadic templates в C++11 на C++ и написать-то нельзя было
Ну это не совсем честно и верно. Можно было написать, но с разумным ограничением числа шаблонных параметров (как и делали в бусте до var templates).
Evg
Эксперт CАвтор FAQ
17527 / 5765 / 368
Регистрация: 30.03.2009
Сообщений: 15,852
Записей в блоге: 26
04.08.2015, 17:37     Могут ли теоретически существовать методы с неопределенным числом аргументов? #43
Цитата Сообщение от ForEveR Посмотреть сообщение
Можно было написать, но с разумным ограничением числа шаблонных параметров
Но это ведь и есть ущербность. Т.е. в boost'е люди вместо простого программирования по сути дела занимались извращениями и борьбой с Си++ (т.е. "победа над здравым смыслом", как это было красиво названо в одной из тем).
Voivoid
674 / 277 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
04.08.2015, 17:41     Могут ли теоретически существовать методы с неопределенным числом аргументов? #44
Цитата Сообщение от Evg Посмотреть сообщение
Т.е. аналог моей короткой функции, которую можно было бы поместить в *.c (но не в хидер) на Си++ до сих пор написать нельзя. Это и есть ущербность Си++

Как тут не вспомнить анекдот про японскую бензопилу:

Не по теме:

Купили как-то суровым сибирским лесорубам японскую бензопилу.
Собрались в кружок лесорубы, решили ее испытать.
Завели ее, подсунули ей деревце.
«Вжик» — сказала японская пила.
«У, ***...» — сказали лесорубы.
Подсунули ей деревце потолще. «Вж-ж-жик!» — сказала пила.
«Ух, ***!» — сказали лесорубы.
Подсунули ей толстенный кедр. «ВЖ-Ж-Ж-Ж-Ж-Ж-Ж-ЖИК!!!» — сказала пила.
«Ух ты, ***!!» — сказали лесорубы.
Подсунули ей железный лом. «КРЯК!» — сказала пила.
«Ага, ***!!!» — укоризненно сказали суровые сибирские лесорубы! И ушли рубить лес топорами…педалить бойлерплейт на сишечке

Evg
Эксперт CАвтор FAQ
17527 / 5765 / 368
Регистрация: 30.03.2009
Сообщений: 15,852
Записей в блоге: 26
04.08.2015, 18:08     Могут ли теоретически существовать методы с неопределенным числом аргументов? #45
Цитата Сообщение от Voivoid Посмотреть сообщение
И ушли рубить лес топорами…педалить бойлерплейт на сишечке
Какой язык лучше учить?
Хоть это и является приколом, но отчасти хорошо демонстрирует парадокс. Чем быстрее становится железо, тем больше тормозят программы. Часть этих проблем ложится на современные языки программирования высокого уровня (которые развиваются не в вакууме, а с оглядкой на развитие железа), в которых есть неявная идиология в виде того, что программист должен программировать, а не думать, потому что надо всё сделать как можно быстрее, но не качественнее

К слову говоря, precompiled headers как технологическая цепочка в чём-то похожа на кэш процессора. И то, и другое являются ни разу не естественной вещью, которые родились только для того, чтобы заниматься устранением "плохой" работы других компонент (идеология шаблонов си++ и медленно работающая память соответственно)
hoggy
6407 / 2625 / 457
Регистрация: 15.11.2014
Сообщений: 5,791
Завершенные тесты: 1
04.08.2015, 18:20     Могут ли теоретически существовать методы с неопределенным числом аргументов? #46
Цитата Сообщение от Evg Посмотреть сообщение
Но это ведь и есть ущербность. Т.е. в boost'е люди вместо простого программирования по сути дела занимались извращениями и борьбой с Си++ (т.е. "победа над здравым смыслом", как это было красиво названо в одной из тем).
просто из языка вытягивали на пределе его возможностей.
в то время, как комитет прорабатывал идею с вариадик-шаблонами.

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

если не ошибаюсь, технология не прижилась ввиду высокой сложности.
её смогли реализовать только какие то отдельные поставщики компиляторов.
в общем, экспорт шаблонов не был принят в стандарт.


в настоящее время комитет прорабатывает "модули",
"статическую рефлексию",
и ещё там какие то направления,
которые друг с другом связаны,
и потому должны учитывать особенности друг друга.

может быть когда нибудь мы все таки увидим нормальные "модули" на языке с++
и можно будет топить шаблоны в с++ так же просто, как и обычные функции.

а пока программист платит свою цену за использование шаблонов.
а комитет платит свою - за возможность создать модули,
и не потерять столь мощную систему метапрограммирования.
Voivoid
674 / 277 / 12
Регистрация: 31.03.2013
Сообщений: 1,339
04.08.2015, 18:28     Могут ли теоретически существовать методы с неопределенным числом аргументов? #47
Цитата Сообщение от Evg Посмотреть сообщение
Чем быстрее становится железо, тем больше тормозят программы
"Влияние количества пиратов на глобальное потепление.jpg"
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.08.2015, 20:37     Могут ли теоретически существовать методы с неопределенным числом аргументов?
Еще ссылки по теме:

Инициализация std::tuple переменным числом аргументов - C++
Добрый вечер. Мне нужно инициализировать объект std::tuple, который является членом некоторого другого шаблонного класса с переменным...

Шаблон с переменным числом аргументов, и возвращаемое значение функции - C++
Здравствуйте! Использую С++11. Хочу возвращать элементы кортежа пытаюсь так, auto Deserialize(unsigned long long i) ->...

Как изменить значение переменной, переданной в списке с переменным числом аргументов - C++
Помогите!!! Начал изучать С++ Возникла такая проблема. Когда мне нужно получить доступ к переменному числу аргументов я делаю что-то...

Теоретически понимаю, а как записать - непойму - C++
дан массив случайных чисел B. все необходимые с ним действия сделала. кроме одного.. Нужно записать элементы массива B (50) с индексами...

Как теоретически (не программно) посчитать количество сравнений и обменов в пузырьковой сортировке? - C++
как теоретически посчитать количество сравнений и обменов в пузырьковой сортировке?не программно


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Evg
Эксперт CАвтор FAQ
17527 / 5765 / 368
Регистрация: 30.03.2009
Сообщений: 15,852
Записей в блоге: 26
04.08.2015, 20:37     Могут ли теоретически существовать методы с неопределенным числом аргументов? #48
Цитата Сообщение от hoggy Посмотреть сообщение
и можно будет топить шаблоны в с++ так же просто, как и обычные функции
Как-то я даже приблизительно не могу понять, как будет выглядеть монстр, в котором одновременно есть и понятие модули, и понятие шаблона (внутри модуля), но при этом чтобы осталось то, ради чего шаблоны и изобретали (точнее, сделали их такими, какие они сейчас есть) - работа inline. Если изобретут - круто, конечно, но как-то слабо верится
Yandex
Объявления
04.08.2015, 20:37     Могут ли теоретически существовать методы с неопределенным числом аргументов?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru