Публикации по теме 'variadic-functions'


Вариативные аргументы в функциях - Swift
Чтобы упростить код, вы можете использовать настраиваемые функции, которые принимают переменный список аргументов. Эта концепция известна в Swift как вариативный аргумент. Допустим, у вас есть следующий экран: У вас есть следующие подпредставления, которые нужно добавить в представление UIViewController. Вот как этого добиться с помощью переменных аргументов: Точно так же вы можете создать любую функцию с переменными аргументами для целых чисел: Таким образом вы можете..

Что такое вариативные функции в C?
В отличие от вашей традиционной функции, которая имеет установленный набор аргументов, вариативная функция может получать неизвестное количество аргументов, и вы сможете циклически перебирать их, используя определенную библиотеку. Здесь вы можете найти основы, чтобы лучше их понять. Как это работает? Вы должны объявить свой прототип функции, как обычно, и добавить три точки (…) в качестве последнего аргумента. Это сигнализирует о возможности того, что могут быть дополнительные..

Переменное количество аргументов в C и C ++
Все это время я продолжал использовать printf и писать функции, но никогда особо не задумывался о том, что printf принимает столько аргументов, сколько вы хотите. Как насчет того, чтобы написать функцию, которая будет делать то же самое? Файл заголовка, который мы собираемся использовать, - это cstdarg в C ++ и stdarg.h в C. Этот заголовок предоставляет нам один тип и несколько макросов для обработки списка аргументов. va_list : тип для хранения списка аргументов..

Вариадические функции в C
Variadic Function - это те функции, которые принимают переменное количество аргументов, так как многим из нас всегда интересно, как работают printf и scanf, поскольку мы можем вызывать их с переменным количеством аргументов. Как это работает? Вы можете объявить вариативную функцию так же, как другую функцию с последним аргументом функции (a, b, c,…), здесь «…» сигнализирует, что может быть переменное количество аргументов для функции. Это выглядит так: int sum(int n, …) Для..

Современный C ++ и вариативные функции: как выстрелить себе в ногу и как этого избежать
Все началось с ошибки, как это обычно бывает. Это был мой первый опыт работы с Java Native Interface , я писал оболочку C ++ для функции Java для создания различных объектов Java. Эта функция - CallVoidMethod - является переменной, и это означает, что ее аргументы - указатель на среду JNI, указатель на новый класс объекта, идентификатор метода для вызова (конструктор в данном конкретном случае) и произвольное количество любых других аргументов. И это разумно, поскольку как..

Вопросы по теме 'variadic-functions'

Как передать переменное количество аргументов в printf / sprintf
У меня есть класс, содержащий функцию «ошибки», которая форматирует некоторый текст. Я хочу принять переменное количество аргументов, а затем отформатировать их с помощью printf. Пример: class MyClass { public: void Error(const char*...
123200 просмотров
schedule 02.11.2023

Оберните функцию переменного параметра в C++
Я хотел бы обернуть функцию «вызова» xmlrpc (которая принимает переменное количество параметров) с другой функцией (также принимающей переменное количество параметров). Я хотел бы просто перенаправить переменное количество параметров, которые я...
2451 просмотров
schedule 22.04.2023

Как передать переменное количество аргументов функции PHP
У меня есть функция PHP, которая принимает переменное количество аргументов (с использованием func_num_args() и func_get_args() ), но количество аргументов, которые я хочу передать функции, зависит от длины массива. Есть ли способ вызвать...
113183 просмотров
schedule 16.10.2022

Лучший способ сохранить va_list для последующего использования в C/C++
Я использую va_list для создания отображаемой строки. void Text2D::SetText(const char *szText, ...) Это все прекрасно, но теперь у пользователя есть возможность менять язык во время работы приложения. Мне нужно перегенерировать все текстовые...
11995 просмотров
schedule 19.03.2023

Переменное количество аргументов в C ++?
Как я могу написать функцию, которая принимает переменное количество аргументов? Возможно ли это, как?
391491 просмотров
schedule 28.01.2023

Переменное количество аргументов (va_list) с обратным вызовом функции?
Я работаю над реализацией функции, которая будет выполнять другую функцию через несколько секунд в будущем, в зависимости от ввода пользователя. У меня есть приоритетная очередь класса (которую я называю TimedEvent), которая содержит указатель...
3706 просмотров
schedule 05.01.2024

Использование функций ленивой оценки в varargs
Что не так в следующем методе? def someMethod(funcs: => Option[String]*) = { ... }
1497 просмотров

Проблема с передачей ссылки в качестве именованного параметра в функцию с переменным числом аргументов
У меня проблемы в Visual Studio 2003 со следующим: void foo(const char*& str, ...) { va_list args; va_start(args, str); const char* foo; while((foo = va_arg(args, const char*)) != NULL) { printf("%s\n", foo); } }...
953 просмотров

Разница между double и double [] в объявлении типа формального параметра
У меня вопрос: в чем разница между этими двумя декларациями? public static void printMax(double... numbers) { ... } public static void printmax(double numbers[]) { ... } double... numbers то же самое, что double numbers[] ?
2891 просмотров

Функция varargs Siebel eScript всегда выдает исключение
согласно документации Siebel, eScript поддерживает varargs. Следующий образец взят из документации Siebel: function SumAll() { var total = 0; for (var ssk = 0; ssk < SumAll.arguments.length; ssk++) { total += SumAll.arguments[ssk];...
3628 просмотров
schedule 03.04.2023

сбой функции varargs
У меня есть функция, которая должна принимать переменное количество аргументов (используя varargs) на основе строки формата: void va(const char* name, const char* argformat, ...) { int numOfArgs = strlen(argformat); std::string buf =...
1042 просмотров
schedule 20.05.2023

Varargs для добавления нескольких экземпляров объекта
Мне нужно добавить несколько записей моего PhoneNumber (номер, тип) в мой основной объект Person (имя, PhoneNumber). Могу ли я использовать varargs для решения этой проблемы или есть лучший и более эффективный способ сделать это?? Я пытаюсь...
481 просмотров
schedule 30.05.2022

Является ли va_start (и т. д.) реентерабельным?
Внося изменения в класс с длинной историей, я был поставлен в тупик из-за особой привычки архитектора заключать свою последовательность va_start -> va_end в мьютекс. В журнале изменений для этого дополнения (которое было сделано около 15 лет назад и...
7135 просмотров
schedule 15.03.2023

Подсчитайте количество параметров в вызове метода аргумента переменной C
При использовании va_start(), va_arg() и va_end() для чтения параметров, переданных методу, есть ли способ подсчитать количество аргументов? Согласно справочной странице, если вы вызываете va_arg() слишком много раз, вы получаете «случайные...
5819 просмотров
schedule 07.06.2023

Переопределение вариативного метода в target-c
При создании подкласса в target-c, как я могу перенаправить вызов суперклассу в случае вариативного метода. Чем заменить ??? ниже, чтобы отправить все объекты, которые я получил? - (void) appendObjects:(id) firstObject, ... { [super...
1650 просмотров

Что лучше для параметров функции обратного вызова C: va_list или многоточие?
Моя библиотека предлагает точку обратного вызова, где пользователи моей библиотеки могут зарегистрироваться для получения информации. Общая форма обратного вызова — это int , за которым следуют различные параметры, тип которых зависит от значения...
2252 просмотров
schedule 14.08.2022

Шаблоны с переменными параметрами: передать пакет параметров без расширения
Старые возможности C stdio предоставляли возможность передавать переменный набор аргументов с использованием возможностей vprintf . Есть ли аналогичный способ передать пакет параметров вариативного шаблона C ++ 0x без его расширения? Это...
4178 просмотров
schedule 31.12.2021

Объяснение аргументов, состоящих только из ключевых слов (VarArgs) в Python
Пожалуйста, смотрите код ниже: - #!/usr/bin/python # Filename: total.py def total(initial=5, *numbers, **keywords): count = initial for number in numbers: count += number for key in keywords: count += keywords[key]...
16899 просмотров
schedule 15.10.2022

Как подсчитать количество аргументов, переданных функции, которая принимает переменное количество аргументов?
Как подсчитать количество аргументов, переданных функции в следующей программе: #include<stdio.h> #include<stdarg.h> void varfun(int i, ...); int main(){ varfun(1, 2, 3, 4, 5, 6); return 0; } void varfun(int n_args,...
52615 просмотров
schedule 29.03.2023

Какова цель модификаторов h и hh для printf?
Помимо %hn и %hhn (где h или hh определяют размер объекта указанный ), в чем смысл модификаторов h и hh для спецификаторов формата printf ? Из-за продвижения по умолчанию, которое требуется стандартом для применения к функциям с...
41598 просмотров