我基本上是在重新制作 set 容器,我想知道如何将大括号括起来的初始值设定项列表传递给容器。
mySet<int> myset = {"test", "test 2"};
我试图重载 operator= 以将列表作为参数。
最佳答案
尽管这里存在 =
,但这是在构造一个集合,因此您需要的是一个构造函数(以 std::initializer_list
作为其参数)。
template<class T>
class myset {
public:
// ...
mySet(std::initializer_list<T> init) {
for (T const &t : init)
insert(t);
}
};
关于c++自定义容器pass{}列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35167073/