variadic-functions 相关问题

如果函数可以接受可变数量的参数,则该函数是可变参数;也就是说,它的arity并不固定。缩写“varargs”通常用于指代这些类型的函数。

C++17 中可能存在 is_variadic 类型特征吗?

在 C++17 中,是否可以设计一个类型特征来检测可调用对象是否是可变参数(因此可以采用任意长的参数数量)? 模板 是否可以在C++17中设计一个类型特征来检测可调用对象是否是可变参数(因此可以采用任意长的参数)? template <class Callable> struct is_variadic; 我目前不知道如何做到这一点,但我无法说服自己这是不可行的。那么如果可行的话会是什么样子? 如果函数类型是可变参数,则 is_variadic 类型特征为 true。 这意味着类型特征必须部分特化才能接受可以接受可变数量参数的函数类型。 template <typename> struct is_variadic : std::false_type {}; template <typename R, typename ...Args> struct is_variadic<R(Args..., ...)> : std::true_type {};

回答 1 投票 0

使用 `std::apply` 迭代 `std::tuple`

我试图使用 std::apply 调用元组所有元素中的特定成员函数。当我使用 lambda 时这有效,但在定义自由函数时则无效。 以下模板元组 - 调用...

回答 1 投票 0

如何在 Objective-C 中创建可变参数方法

也许这对你们大多数人来说显然很简单,但是您能否举个例子,如何创建类似的方法(在 Objective-C 中)和 C 中的函数来创建类似 NSString 的函数

回答 4 投票 0

多个 va_end 调用的顺序重要吗?

我有以下代码: va_list va[2]; va_start(va[0], fmt); va_start(va[1], fmt); 过程(fmt,va); va_end(va[0]); va_end(va[1]); 我查看了各个网站上有关 va_start 和

回答 3 投票 0

自己的线程创建,在线程创建失败时恢复函数参数

我尝试使用可变的线程函数参数来实现自己的线程创建,如果线程创建失败,这些参数会传递回其原点。这是我的问题“发生了什么......

回答 1 投票 0

va_arg - Linux 和 Windows 上的不同行为

我做了一些测试代码来演示 Windows 和 Linux 上的不同输出 #包括 #包括 无效 print_vint(va_list args) { int i = va_arg(args, int); 原则...

回答 1 投票 0

sizeof(va_list) = 24 而不是 8

根据定义,在stdarg.h typedef char* va_list.so中va_list的大小应该是8而不是ubuntu 20.04 64位gcc 9.4.0中的24,我不知道为什么我得到的va_list的大小是24? 我运行了以下...

回答 1 投票 0

将 `(String, Int)...` 可变参数函数转换为 ExpressibleByDictionaryLiteral 的字典

我有当前通过采用数组或字典的单参数初始化函数初始化的对象。 我意识到我可以使用 ExpressibleByArrayLiteral 和 ExpressibleByDictionaryLi...

回答 1 投票 0

如何在 TypeScript 中传递基于可变参数类型的类型?

TypeScript 游乐场链接 我正在为项目的 Express 创建一个路由处理程序创建器,并且我正在尝试创建它,以便您可以在传递

回答 1 投票 0

编辑:我对代码做了一些更改,但是,我仍然遇到 scanf 问题

源代码: #包括 #包括 #包括 #包括 #包括 #include“addon.h” 静态书* archivelib;

回答 1 投票 0

0xC0000374:我在学校的 C 编码项目中遇到错误,我不确定要更改什么

源代码: #包括 #包括 #包括 #包括 #包括 #包括 #包括 #包括...

回答 1 投票 0

同时采用可变参数和类类型的函数?

在 C++ 中,是否可以创建一个同时采用类类型和可变数量参数的模板化函数?我想象的功能会像这样工作(尽管这是c...

回答 1 投票 0

使用可变参数作为 sprintf 的参数

我想编写一个 printf(...) 的包装器。 我的第一次尝试是: 子 printf2 { 我的 $test = sprintf(@_); 打印$测试; } 由于数组(在标量上下文中)不是格式字符串,因此...

回答 3 投票 0

寻找一种根据条件使用不同可变参数函子的方法

我有一个运行时布尔详细信息,如果为 false,则会排除一些打印到标准输出的信息。 要确定想法,请考虑有很多部分,例如: void add(const int a, const int b, const bool verbose) { //......

回答 1 投票 0

这是使用 va_copy 未定义的行为吗?

我创建了一个打印键和值对的函数,其中键是可信的编译时文字字符串,可能包含 printf 说明符。现在我的问题是:这个函数是...

回答 1 投票 0

C 中对可变参数函数的级联调用

我需要制作vprintf的包装器,以便可以完成类似printf的函数的多种实现。这段代码演示了这个问题: #包括 #包括 #在...

回答 2 投票 0

kotlin 中的字符串格式和可变参数

我有以下方法 fun formatMessages(indicators: IntArray): CharSequence { 返回 context.getString(R.string.foo, 指标) } 字符串是: $1%d -...

回答 3 投票 0

是否可以有一个带有任意数量参数的泛型函数?

我知道 Rust 没有变量。我知道宏是模拟它们的一种可能方法。然而,我对如何将特征用于此目的感兴趣。 例如,Bevy ECS

回答 1 投票 0

如何在可变数量的参数中传递 std::initializer_list ?

我想在打印每个参数的函数的可变数量参数内传递一个 std::initializer_list 。 func( 1, 2.5, 'a', "你好", {10, 20, 30, 40 } ); 期待这个

回答 1 投票 0

C 预处理器宏和自定义可变参数函数的警告抑制?

我正在尝试创建一类可以使用任意数量和任何类型的参数调用的函数 - 类似于 printf,但有一个关键区别:我想将所有参数转换为

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.