如何解决如何使构造函数类似于多维向量?
对于vector
类型,我们可以这样做:
vector<vector<int>> v = {{1,2,3},{4,5,6}};
我正在尝试对自定义类SomeClass
执行相同的操作,以便可以这样做:
SomeClass a = {{1,6}};
如何为SomeClass
编写构造函数以实现此目标?
解决方法
您要寻找的是std::initializer_list
,为此您可以找到不错的documentation here。
如果您按以下方式定义SomeClass
:
template <typename T>
class SomeClass
{
public:
SomeClass(std::initializer_list<std::initializer_list<T>> param)
{
//...
}
};
然后,您将可以按照自己的方式构造此类的实例:
SomeClass a {{1,2,3},{4,5,6}};
您可以找到here a small example。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。