【发布时间】:2015-03-01 20:51:25
【问题描述】:
我不熟悉 C++ 中的模板和元编程。我现在要做的是:我有一个带有模板的结构,该模板需要 char 类型的非类型可变参数包,定义如下:
template <char ... chs>
struct MyStruct
{};
我有第二个结构模板,它需要两种类型,如下所示:
template <typename ch1, typename ch2>
struct Together
{
};
我想要实现的是:
cout << Together<MyStruct<'a','b'>, MyStruct<'c','d'>>::result << '\n';
必须打印的内容:abcd
提前致谢
【问题讨论】:
-
由于回答问题的人似乎对您想知道的内容有不同的解释:您在哪个方面遇到了麻烦?连接两个参数包,还是将
char...参数包转换为字符串?如果您能说明您不需要需要回答的哪些方面,将会大大改善您的问题。 -
在编译时连接两个参数包
标签: c++ templates metaprogramming