gpt4 book ai didi

C++使用参数在数组中分配和构造对象

转载 作者:行者123 更新时间:2023-11-27 23:04:28 25 4
gpt4 key购买 nike

从这里http://www.cplusplus.com/reference/new/operator%20new[]/ ,我不清楚是否可以使用参数分配和构造对象。像这样:

struct MyClass {
int data;
MyClass(int k) {}
};

int main () {
// allocates and constructs five objects:
MyClass * p1 = new MyClass[5](1); // allocate 5 objects, and init all with '1'
}

这是行不通的...

最佳答案

那行不通,但您可以使用 std::vector<MyClass>为此:

std::vector<MyClass> p1(5, 1);

这将创建一个包含 5 MyClass 的 vector 对象。请注意,这是有效的,因为您的单参数构造函数不是 explicit .如果是,您将需要

std::vector<MyClass> p1(5, MyClass(1));

关于C++使用参数在数组中分配和构造对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24579291/

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