[英]C++ - Initializing dynamic set with an initializer list in a class
我正在尝试使用初始化列表初始化set<string_view>
动态类成员。 当它不是指向集合的指针时,这很容易,但我真的不知道在那种情况下如何做到这一点。
class Textpool {
public:
Textpool() = default;
Textpool(const std::initializer_list<std::experimental::string_view> &StringList);
~Textpool() = default;
private:
std::set<std::experimental::string_view> *StringSet_;
};
如果它不是指针,它看起来像这样:
Textpool::Textpool(const std::initializer_list<std::experimental::string_view> &StringList) : StringSet_{StringList} {}
如果你的成员必须是一个指针,那么它也必须被初始化为指向某个东西。 请注意,如果您有指针成员,则默认 ctor/dtor 通常是个坏主意。
但是,假设您处理了这个问题,是不是像(为清楚起见添加了空格)那么简单
Textpool::Textpool(const std::initializer_list<std::experimental::string_view> &StringList)
: StringSet_(new std::set<std::experimental::string_view>{StringList})
{
}
?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.