我有一个类F
,它有一个像这样的构造函数:
public:
F(int N){
Tree = new int[N];
}
我想创建一个包含26个F
如果构造函数没有参数,我可以刚刚完成F ArrayOfF[26]
但是,这个构造函数确实有一个参数,而F(N) ArrayOfF[26]
行的某些东西不起作用。
这样做的好方法是什么?
答案 0 :(得分:2)
一个选择是明确的:
F ArrayOfF[26] = {
F(1), F(2), F(3), F(4), F(5), F(6), F(7), F(8), F(9), F(10),
F(1), F(2), F(3), F(4), F(5), F(6), F(7), F(8), F(9), F(20),
F(1), F(2), F(3), F(4), F(5), F(6)
};
std::vector
也是一个不错的选择。
std::vector<F> ArrayOfF(26, F(42));
或
std::vector<F> ArrayOfF;
ArrayOfF.reserve(26); // Optional: to do only one allocation.
for (int i = 0; i != 26; ++i) {
ArrayOfF.push_back(F(2 * i + 5));
}