例如:
#Include <array>
class UnionFind final {
public:
explicit UnionFind(int numbers) {
// ???
}
private:
std::array<int, ???> array_;
};
我想在构造函数array_
中将std::array<int, numbers>
初始化为UnionFind(int numbers)
,但我不知道该怎么做。
答案 0 :(得分:7)
std::array的大小,例如:
template <std::size_t numbers>
class UnionFind final {
public:
UnionFind() {}
private:
std::array<int, numbers> array_;
};
然后(假设大小固定为3)
UnionFind<3> u;
如果要在运行时指定大小,可能需要使用std::vector:
class UnionFind final {
public:
explicit UnionFind(int numbers) : array_(numbers) {}
private:
std::vector<int> array_;
};