- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在 C++11 中是否有一种简单的方法可以做到这一点?如果可能的话,我想同时保留多重继承和循环访问包中所有静态函数的能力。
#include <cstdio>
struct A { static void foo() {printf("fA\n");} static void bar() {printf("bA\n");} };
struct B { static void foo() {printf("fB\n");} static void bar() {printf("bB\n");} };
struct C { static void foo() {printf("fC\n");} static void bar() {printf("bC\n");} };
template <typename... T>
struct Z : public T... {
static void callFoos() {
/* ???? WHAT'S THE SYNTAX
T...::foo();
T::foo()...;
*/
}
static void callBars() {
/* ???? WHAT'S THE SYNTAX
T...::bar();
T::bar()...;
*/
}
};
int main() {
Z<A, B, C>::callFoos();
Z<A, B>::callBars();
}
最佳答案
添加一组调度程序函数重载:
void foo_caller() { }
template <typename T, typename ...Args>
void foo_caller()
{
T::foo();
foo_caller<Args...>();
}
然后在callFoos()
中使用:
foo_caller<T...>();
关于C++11 typelist unroller 和静态函数的代理调用者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16325136/
我无法找到有关如何使用 c++11 可变类型列表作为可移植参数包容器的信息。假设我有这段代码。 #include template struct Index; template struct I
假设我有一个类型 template struct typelist {}; 我需要从此列表中获取子列表: template struct sublist { using type = ?; /
我有一个可变模板类型列表: template struct typelist {}; 然后我如何将它传递给一些需要参数包的外部代码,比如 std::tuple .换句话说,我需要将参数包作为成员或
我有一个与 this one 非常相似的 Typelist 实现.如果您不知道类型列表是什么:简而言之,它的行为类似于使用嵌套元组的可变参数模板。您可以阅读更多关于它们的信息 here . 我想从这个
在“现代”C++ 中,我有一个类型列表: template struct TypeList {}; 我想根据谓词拆分类型列表,例如 std::is_floating_point .更准确地说,我的完
我正在编写一个 Terraform 提供程序,并且当我有一个包含 TypeString 元素的 TypeList 时,我试图找出进行类型断言的最佳方法。 资源定义如下: return &sch
在 C++11 中是否有一种简单的方法可以做到这一点?如果可能的话,我想同时保留多重继承和循环访问包中所有静态函数的能力。 #include struct A { static void foo()
我正在实现一个基于 Loki 的 TypeList,基于阅读: http://aszt.inf.elte.hu/~gsd/halado_cpp/ch06s09.html 并从 IndexOf 网站上看
我试图避免使用 LOKI_TYPELIST_n 宏,所以我可以编写简单的 Loki::Typelist 包装器。 template struct TYPELIST; template <> stru
我是一名优秀的程序员,十分优秀!