【发布时间】:2021-05-03 15:33:01
【问题描述】:
可以说,我有一个可以增长的可变参数类型列表 例如
#define MY_TYPES void, float, int, vector<long>, .....
我正在寻找在编译时以通用方式在 c++17/20 中生成这些类型定义的方法,例如
#define to_tuple(MY_TYPES) ==> std::tuple<future<void>, future<float>, future<int>....>
using tupleType = decltype(to_tuple<ALL_TYPES>); // this can be then used in struct as a member.
struct foo {
...
...
tupleType tups;
}
或者,如果这可以使用模板元编程来完成?
感谢您的帮助。
【问题讨论】:
-
请avoid macros like a fire。有些情况是别无选择的,但它们非常罕见,这不是你的情况。
标签: c++ c-preprocessor c++20 variadic-macros fold-expression