使用结构非类型可变参数模板参数初始化结构的字符串数据成员
Initialize a struct's string data member with the structs non-type variadic template arguments
我正在尝试制作一个接收非类型可变模板参数的结构。我试图让它使用这些模板参数初始化一个字符串,该字符串是该结构的数据成员,如下所示:
template <char... Chs>
struct MyStruct
{
string d_text;
};
int main()
{
cout << MyStruct<'a','b'>().d_text << '\n';
}
MyStruct
的构造函数应该怎么做才能根据我的要求初始化 d_text
?提前致谢。
假设您的问题是关于初始化 d_text
,您可以使用 std::string
s std::initializer_list<char>
constructor,以及参数包扩展。
template <char... Chs>
struct MyStruct
{
string d_text;
MyStruct() : d_text({Chs...}){}
};
我正在尝试制作一个接收非类型可变模板参数的结构。我试图让它使用这些模板参数初始化一个字符串,该字符串是该结构的数据成员,如下所示:
template <char... Chs>
struct MyStruct
{
string d_text;
};
int main()
{
cout << MyStruct<'a','b'>().d_text << '\n';
}
MyStruct
的构造函数应该怎么做才能根据我的要求初始化 d_text
?提前致谢。
假设您的问题是关于初始化 d_text
,您可以使用 std::string
s std::initializer_list<char>
constructor,以及参数包扩展。
template <char... Chs>
struct MyStruct
{
string d_text;
MyStruct() : d_text({Chs...}){}
};