Свързани въпроси 'variadic-functions'
Разнообразна шаблонна функция с аргументи от един и същи тип
Как да огранича шаблонна функция с различни варианти, така че всички нейни аргументи да бъдат от един и същи тип?
Имам нужда от това за специализация на
CommonType!T either(T...)(T a) if (a.length >= 1)
{
static if (T.length == 1)...
125 изгледи
schedule
17.09.2022
Java varags не откриват, когато се извиква vararg метод в друг vararg метод
Приложих Java методи за разрешаване на IN и OR условие.
По-долу е моят код.
public static <T> boolean in(T parameter, T... values) {
if (null != values) {
System.out.println("IN values size.. " + values.length);
return...
639 изгледи
schedule
26.09.2022
Как да определим края на списъка va_arg?
Имам функция foo(char *n, ...); Трябва да получа и използвам всички незадължителни char параметри. Имах идея да използвам
while(va_arg(argPtr, char) != NULL)
{
...
}
да разбера кога стигна до края на списъка. И така, ще работи ли,...
3142 изгледи
schedule
27.09.2022
Как правилно да съпоставите varargs в Mockito
Опитвам се да се подигравам на метод с vararg параметри, използвайки Mockito:
interface A {
B b(int x, int y, C... c);
}
A a = mock(A.class);
B b = mock(B.class);
when(a.b(anyInt(), anyInt(), any(C[].class))).thenReturn(b);
assertEquals(b,...
67993 изгледи
schedule
07.11.2023
Как мога да гарантирам безопасността на типа на променливи аргументи?
В C бих искал да направя функция или макрос, които изглеждат така:
void Log(char* what, ...)
където ... трябва да са двойки ключ-стойност на const char*. Наистина бих искал код, който не следва това, да избухне по време на компилация....
172 изгледи
schedule
11.12.2022
указател към va_list в amd64 ABI
Имам притеснения относно различни функции под Linux amd64 (x86_64).
Моят пример компилира и работи добре на linux i386 (ia32), но когато е създаден за linux amd64, GCC създава такива грешки:
stdarg.c: In function ‘vtest’:
stdarg.c:21:5:...
1653 изгледи
schedule
13.12.2023
Бих искал да греша тук, разбира се. Моля, покажете някакво потвърждение (документация или съответен анализ на изходния код на Qt), което показва, че създаването на джаджи в произволна нишка е ОК.
2292 изгледи
schedule
23.03.2024
Може ли std::function да се използва за съхраняване на функция с различни аргументи
Имам структура, която предавам около моето приложение, която съдържа куп функции за обратно извикване:
typedef struct {
std::function<void (void)> f1;
std::function<void (int)> f2;
std::function<int (float *)>...
3735 изгледи
schedule
13.12.2023
Писане на променлив макрос, който използва имената на предадените аргументи
Искам да напиша променлив макрос, който по някакъв начин знае имената на предадените аргументи. Например:
Кодът:
int x = 2;
float f = 4.6;
char c = 'A';
char* str = "Bla bla";
PRINT("%d %f %c %s", x, f, c, str); // calling the macro...
331 изгледи
schedule
17.12.2023
защо метод varargs трябва да бъде в отделен блок в java?
Защо varargs на метода трябва да са отделни от основното тяло на метода? Кодът по-долу е правилен, но защо не мога да сложа декларация на метод varargs в тялото на основния метод?
public class TryVariableArgumentList {
public static void...
79 изгледи
schedule
21.10.2022
c++ комбинира стойности от два (или повече) пакета с параметри
Как е възможно да се комбинират стойности от два пакета параметри в C++? С други думи, как се пише функция
LetsStart<int, -1, 10, 3>("This is -1", "And this is 10", "3!!!");
което би извело
-1 This is -1...
2301 изгледи
schedule
23.01.2024
Технически, как работят променливите функции? Как работи printf?
Знам, че мога да използвам va_arg , за да напиша свои собствени променливи функции, но как работят променливите функции под капака, т.е. на ниво инструкции за асемблиране?
Например, как е възможно printf да приема променлив брой аргументи?...
7094 изгледи
schedule
05.02.2024
Използване на var_arg за предаване на параметри за извиквания на функции
Пиша адаптер за комбиниране на два API (един в C и друг в C++). Ако дадена функция се извика на един API, трябва да предам идентификатора на обаждащия се и аргументите на функцията към адаптер и да извикам съответната функция с тази предадена...
444 изгледи
schedule
17.03.2024
Как мога да докладвам персонализирани грешки, когато при извикване на функция липсват някои аргументи?
Обучавам се на основите на MATLAB и съм заседнал как да създавам грешки за функции. Ето моят опит:
function kinetic = KE(m,v)
KE = 0.5*m*v*v
%error messages
if (isempty(m))
% mass is empty
error('No mass given (argument 1)');
elseif...
69 изгледи
schedule
24.03.2024
запишете списък с променливи аргументи за извиквания на fprintf
Пиша тежка многонишкова [>170 нишки] c++11 програма. Всяка нишка регистрира информация в един файл, използван от всички нишки. От съображения за производителност искам да създам нишка log , която записва информацията чрез fprintf() в глобалния...
151 изгледи
schedule
28.03.2024
Разопаковане на масив в аргументи на метода
Както знаете, C# поддържа различни методи чрез ключовата дума params :
int Add(params int[] xs) {
return xs.Sum();
}
Което след това може да бъде извикано с произволен брой аргументи, които желаете:
Add(1);
Add(1, 2);
Add(1, 2, 3);...
6176 изгледи
schedule
18.04.2024
Go: Променлива функция и твърде много аргументи?
Ето пример за проблема, който имам:
package main
import "fmt"
func foo(a int, b ...int) {
fmt.Println(a,b)
}
func main() {
a := 0
aa := 1
b := []int{2,3,4}
foo(a, aa, b...)
}
Когато стартирам това, получавам грешка too...
5707 изгледи
schedule
03.05.2024
Какъв е форматът на структурата x86_64 va_list?
Някой има ли справка за представянето на va_list в x86_64 ABI (този, който се използва в Linux)? Опитвам се да отстраня грешки в някакъв код, където стекът или аргументите изглеждат повредени и наистина би помогнало да разбера какво трябва да...
16930 изгледи
schedule
07.05.2024
Извикване на метод с помощта на отражение / Преобразуване на списък в Var Args
Имам списък с параметри и имам името на метода. Искам да извикам метода с помощта на отражение. Когато проверих java документа за Method.invoke, това е като Method.invoke(object o, Object args...). Знам какво да предам за първия параметър (т.е....
6865 изгледи
schedule
17.05.2024
c++ извикващ конструктор на суперклас с va_arg
Имам базов клас, който включва конструктор със списък с променливи аргументи:
class Super {
public:
Super(int num, ...);
...
}
Сега в моя конструктор на подклас трябва по някакъв начин да извикам този конструктор на суперклас, но как да...
797 изгледи
schedule
18.05.2024