1 | ||||||||||||||||
Можно ли наращивать количество аргументов функции? Можно ли вернуть количество аргументов функции?11.06.2019, 01:15. Показов 1371. Ответов 4
Метки аргументы функции (Все метки)
К примеру есть примитивная запись
Ну отсюда возникает второй вопрос каким способом можно узнать сколько у функции аргументов в моём случае четыре (bool Er,int q1,int q2,int q3)? Как провести проверку и узнать сколько у функции параметров. Просьба не грубить я конечно валенок но мне очень нужны подобные свойства для написания программ. Возможно ли что-то из этого реализовать? Вот у меня есть пример кода.
0
|
11.06.2019, 01:15 | |
Ответы с готовыми решениями:
4
Странное расположение в памяти аргументов функции с неизвестным количество аргументов Можно ли развернуть вектор в список аргументов функции Чрезмерное количество выходных аргументов функции Переменное количество аргументов в функции ( зацикливание ) |
2782 / 1935 / 570
Регистрация: 05.06.2014
Сообщений: 5,600
|
||||||
11.06.2019, 01:35 | 2 | |||||
Сообщение было отмечено zss как решение
Решение
Оно?
0
|
11.06.2019, 03:28 [ТС] | 3 | |||||
Ну да оно. Значит вы вызвали функцию test и в массив который находится внутри этой функции записали какие-то значения значения (наверное будут положены значения 1,2,3,4)?
У вас здесь происходит увеличение размера массива int array[size], согласно этому вычислению size=sizeof...(args)? А вот в этой строке
0
|
2782 / 1935 / 570
Регистрация: 05.06.2014
Сообщений: 5,600
|
|
11.06.2019, 03:48 | 4 |
Нет. У нас здесь происходит генерация новых функций по единому типовому проекту.
template объявляет шаблон функции, то есть типовой проект. В угловых скобках template<bla-bla-bla> перечисляются типы, которые можно в этом типовом проекте менять. Если у нас есть, скажем, template<typename T>, то можно сгенерить функцию в которой вместо T будет double, а можно функцию в которой T будет string. А во всем остальном код этих функций будет идентичен. Ну а если у нас идет template<typename...T>, то T уже означает целую пачку типов. Причем, пачку любого размера. И const T&...values в свою очередь означает что функция будет принимать пачку аргументов values, с типами из пачки T. Наконец, args... означает "а разверни тут всю пачку".
1
|
11.06.2019, 06:38 [ТС] | 5 |
Жёстко.
0
|
11.06.2019, 06:38 | |
11.06.2019, 06:38 | |
Помогаю со студенческими работами здесь
5
Как задать переменное количество аргументов для чужой функции? Выполнить расчет функции от двух аргументов при заданных законах изменения аргументов Как в данной ситуации использовать функции, получающие и возвращающие различное количество аргументов? Есть функция с кучей аргументов, как её вызвать в другой функции (если половины аргументов у меня нет)? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |