Как на C++ узнать количество передаваемых аргументов? После python, js, для интереса смотрю C++
Как можно на C++ узнать количество аргументов?
К примеру на питоне3 можно сделать такf = lambda *args: print(len(args))
f(1,2,3) # выведет 3
Смотрел вариант с библиотекой cstdarg, но это какой то велосипед мне кажется и явно надо указывать первым аргументом количество аргументов :).
Так как же узнать количество передаваемых аргументов на C++ ?

21 Авг 2019 в 06:33
224 +1
0
Ответы
1

На C++ нет встроенной функции для получения количества передаваемых аргументов как в Python. Однако, можно использовать переменную с переменным числом аргументов va_list, которая предоставляется в заголовочном файле <cstdarg>. Ниже приведен пример кода, который печатает количество переданных аргументов:

#include <iostream>
#include <cstdarg>
void printArgs(int num, ...) {
va_list args;
va_start(args, num);
std::cout << "Number of arguments: " << num << std::endl;
va_end(args);
}
int main() {
printArgs(1, 2, 3, 4, 5);
return 0;
}

В этом примере printArgs принимает первым аргументом количество аргументов, после чего она использует va_list для доступа к остальным аргументам. Хотя это может показаться сложнее, чем просто получение длины списка в Python, это стандартный способ работы с переменным числом аргументов на C++.

20 Апр 2024 в 13:16
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир