gpt4 book ai didi

c++03 初始化具有多个参数的对象数组

转载 作者:搜寻专家 更新时间:2023-10-31 02:14:40 26 4
gpt4 key购买 nike

这可能是一个简单的问题,但我正在尝试使用参数化构造函数初始化对象数组。例如:

class A{
public:
int b,c,d;
A (int i, int j);
};

void A::A(int i, int j){
d = rand()
b = 2*i;
c = 3*j;
}

void main(){
A a[50]; /*Initialize the 50 objects using the constructor*/
}

我已经尝试过 this 中提到的 vector 初始化但是链接,因为有 2 个参数,所以这不起作用。

此外,如本 link 中所述, 手动输入 50 个初始化值既不可能又乏味。

有没有更简单的方法。此外,所有对象的 i、j 值都相同(可通过 main() 获得),但 d 应该是随机值并且与每个对象不同。

最佳答案

你可以使用 std::generate

例子:

A generator(){ return A(1,2); }

std::generate( a, a + (sizeof(a) / sizeof(a[0])), generator );

关于c++03 初始化具有多个参数的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39642085/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com