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

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

Восстановить пароль Регистрация
 
 
Ferrari F1
Заблокирован
416 / 290 / 63
Регистрация: 27.01.2015
Сообщений: 1,935
Записей в блоге: 1
Завершенные тесты: 1
01.08.2015, 19:49     Могут ли теоретически существовать методы с неопределенным числом аргументов? #1
Разумно ли использовать va args в таких ситуациях?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.08.2015, 19:49     Могут ли теоретически существовать методы с неопределенным числом аргументов?
Посмотрите здесь:

Функции с переменным числом аргументов C++
Шаблоны с переменным числом аргументов C++
Есть функция с кучей аргументов, как её вызвать в другой функции (если половины аргументов у меня нет)? C++
C++ Шаблон с переменным числом аргументов, и возвращаемое значение функции
C++ Инициализация std::tuple переменным числом аргументов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16843 / 5264 / 323
Регистрация: 30.03.2009
Сообщений: 14,159
Записей в блоге: 26
04.08.2015, 17:18     Могут ли теоретически существовать методы с неопределенным числом аргументов? #41
Цитата Сообщение от Voivoid Посмотреть сообщение
В этой теме от тебя был только кусочек кода с примером использования C'шного printf
В этой теме был кусочек кода с функцией условно my_printf, который до появления variadic templates в C++11 на C++ и написать-то нельзя было

Типобезопасность Си++ я никак не отношу к ущербности. Если ты хотя бы читал, что я пишу, то я довольно чётко описал, что типобезопасность Си++ (как следствие программирования через шаблоны) является платой за то, что программист не может сделать так, как ему хочется, а вовсе не самоцелью. Т.е. аналог моей короткой функции, которую можно было бы поместить в *.c (но не в хидер) на Си++ до сих пор написать нельзя. Это и есть ущербность Си++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
04.08.2015, 17:21     Могут ли теоретически существовать методы с неопределенным числом аргументов? #42
Цитата Сообщение от Evg Посмотреть сообщение
который до появления variadic templates в C++11 на C++ и написать-то нельзя было
Ну это не совсем честно и верно. Можно было написать, но с разумным ограничением числа шаблонных параметров (как и делали в бусте до var templates).
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16843 / 5264 / 323
Регистрация: 30.03.2009
Сообщений: 14,159
Записей в блоге: 26
04.08.2015, 17:37     Могут ли теоретически существовать методы с неопределенным числом аргументов? #43
Цитата Сообщение от ForEveR Посмотреть сообщение
Можно было написать, но с разумным ограничением числа шаблонных параметров
Но это ведь и есть ущербность. Т.е. в boost'е люди вместо простого программирования по сути дела занимались извращениями и борьбой с Си++ (т.е. "победа над здравым смыслом", как это было красиво названо в одной из тем).
Voivoid
 Аватар для Voivoid
580 / 256 / 12
Регистрация: 31.03.2013
Сообщений: 1,284
04.08.2015, 17:41     Могут ли теоретически существовать методы с неопределенным числом аргументов? #44
Цитата Сообщение от Evg Посмотреть сообщение
Т.е. аналог моей короткой функции, которую можно было бы поместить в *.c (но не в хидер) на Си++ до сих пор написать нельзя. Это и есть ущербность Си++

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

Не по теме:

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

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

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

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

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


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

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

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

C++ Как изменить значение переменной, переданной в списке с переменным числом аргументов
C++ GCC и функции с переменным числом аргументов
C++ Чем могут отличаться формальные параметры функции от ее аргументов?

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

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

Текущее время: 06:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru