|
-1 / 25 / 4
Регистрация: 27.11.2017
Сообщений: 375
|
|
Функции с переменным числом аргументов28.11.2017, 19:35. Показов 2185. Ответов 13
Метки нет (Все метки)
Ребята, подскажите пожалуйста, где можно обстоятельно и подробно прочитать про использовании в C++ функций с несколькими аргументами.
Интересуют такие штуки, как va_list, va_start, va_end и тому подобное.
0
|
|
| 28.11.2017, 19:35 | |
|
Ответы с готовыми решениями:
13
Функции с переменным числом аргументов
Шаблон с переменным числом аргументов, и возвращаемое значение функции |
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 28.11.2017, 19:43 | |
|
0
|
|
|
-1 / 25 / 4
Регистрация: 27.11.2017
Сообщений: 375
|
||||||
| 28.11.2017, 21:43 [ТС] | ||||||
|
Там очень мало и невнятно.
Пока что понял, что не совсем с переменным числом параметров такая функция может быть. По крайней мере один аргумент должен присутствовать или же это не так? Грубо говоря, возможно ли через вот эти VA прибабахи, правильно обработать вот такую функцию:
И еще, я так понял, что такие функции проектируются, исходя из однотипности списка передаваемых им аргументов. То есть, даже эти VA прибабахи не способны правильно обработать вызов такой функции, если одним из аргументов будет char, а другим double. Правильно ли я понимаю или же нет. И вообще как современный C++ рассматривает такие функции, как пережиток, ну типа как ключевое слово register, от которого вот-вот откажутся, или же как вполне ходовую штуку.
0
|
||||||
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|||
| 28.11.2017, 21:50 | |||
|
0
|
|||
|
|
|
| 28.11.2017, 21:54 | |
|
Просто Саша, а нафиг они нужны-то? В си++ есть и полиморфизм и перегрузка операторов и шаблоны и много всякой фигни! Я осмелюсь утверждать, что если тебе в программе понадобились VA прибабах, то ты явно не теми методами решаешь свою задачу, а она на самом деле имеет более простое решение.
Итак, внимание вопрос. Что у тебя за задача?
0
|
|
|
-1 / 25 / 4
Регистрация: 27.11.2017
Сообщений: 375
|
|
| 28.11.2017, 22:00 [ТС] | |
|
Да задача то у меня состоит в том, чтобы описать методику работы с функциями с переменным числом аргументов.
Добавлено через 4 минуты Грубо говоря в C++ такого нет, что передаешь в функцию переменное число аргументов, а эта функция теми или иными способами должны: 1) Узнать количиство переданных аргументов 2)Для каждого переданного аргумента по его порядковому номеру определить его тип. Я правильно понимаю?
0
|
|
|
|
|
| 28.11.2017, 22:02 | |
|
Да это так.
0
|
|
|
-1 / 25 / 4
Регистрация: 27.11.2017
Сообщений: 375
|
|
| 28.11.2017, 22:20 [ТС] | |
|
Ну так вот я и хочу найти какой-нибудь учебник, где четко и ясно говорилось, что на самом деле не совсем с произвольным, а по крайней мере с одним обязательным аргументом, откуда (ну это уже будет дальше сказано), вот VA штуки и берут эти аргументы, но только чтобы все это было приведено в какую-то цельную систему, а так пока читаешь, то просто какие-то отдельные куски информации, а цельной картины никто не дает.
0
|
|
|
|
|
| 28.11.2017, 22:26 | |
|
Потому что как я уже выше сказал, для обучения эти штуки не нужны.
1
|
|
|
-1 / 25 / 4
Регистрация: 27.11.2017
Сообщений: 375
|
|||||||
| 28.11.2017, 22:35 [ТС] | |||||||
|
Мне нужно вот реферат типа краткого сообщения по этой теме, и в нем я не смогу просто вот так написать, что мол для обучения эти штуки не нужны. Добавлено через 3 минуты И кстати вот ещё тоже такой вопрос. В C++ возможно определние функций вот с таким прототипом
0
|
|||||||
|
|
||
| 28.11.2017, 22:39 | ||
|
Ну окей, для доклада нужны, но совсем без начальных аргументов f(...) типа, ты её не применишь. Так и скажи.
Добавлено через 2 минуты
0
|
||
|
-1 / 25 / 4
Регистрация: 27.11.2017
Сообщений: 375
|
|
| 28.11.2017, 22:48 [ТС] | |
|
Вот ты скажи лучше, вот такое начало реферата потянет?
В языке программирования C++ имеется возможность определять функции с переменным числом аргументов. Это означает, что и одна и та же функция может отрабатывать как три, так и четыре, и более аргументов. Переменное число аргументов – это звучит слишком громко и весьма самонадеянно. Чтобы такая функция была хоть как-то полезна, в ней должны быть предусмотрены обычные аргумента, по крайней мере один обычный аргумент. Вот именно такой класс функций, в которых имеется по крайней мере один обычный аргумент, указываемый явно в определении мы и будем называть функциями с переменным числом аргументов, а функции, в которых такого явно определённого аргумента нет, мы просто назовём побочным продуктом создания компиляторов. И ещё одно важное замечание, касающееся таких функций. Когда Вы создаёте функцию с переменным числом параметров, это вовсе не означает, что Вы сможете передавать ей какие-угодно параметры. Переменное число вовсе не означает что попало, а только лишь то, что имеется некоторая, но вовсе не абсолютная свобода, относительно числа и типов передаваемых такой функции аргументов. Как известно, свобода не есть синоним вседозволенности и никакая свобода ещё не отменила дисциплину. Так вот, если говорить о функциях с переменным числом аргументов, то число это переменное только для функции, которая узнает о числе и типах аргументах только при своём вызове, а вот для программиста это число всегда должно быть известным, равно как и типы аргументов, передаваемых таким функциям, тоже должно быть известно. Я дальше планирую развить эту тему и очень конкретно и вдумчиво описать, ну пусть на элементарном уровне студента.
0
|
|
|
|
|
| 28.11.2017, 23:05 | |
|
норм, чё!
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 28.11.2017, 23:40 | |
|
Эти функции скорее к C относятся. А в C++ многоточие в шаблоне.
0
|
|
| 28.11.2017, 23:40 | |
|
Помогаю со студенческими работами здесь
14
Написать функцию с переменным числом аргументов
Рекурсивная функция с переменным числом аргументов на С++98
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Рецензия / Мнение/ Перевод
https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs
. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|