gpt4 book ai didi

c++ - 构造数组

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

如何在运算符new[]中调用特定的类构造函数?

#include <iostream>

class foo
{
public:
foo(){std::cout << "\nfoo::foo()\n";}
foo(int param){std::cout << "\nfoo::foo(int)\n";}
};

int main()
{
foo* my_array = new foo[45];
return 0;
}

foo* my_array = new foo[45]; 将调用 foo() 构造函数。如何调用foo(int)构造函数?

最佳答案

无法对原始数组执行此操作。您可以使用 std::vectors' 获得类似的结果显式 vector (size_type n, const value_type& val = value_type(),
const allocator_type& alloc = allocator_type());
:

std::vector<foo> my_vector(45, 10);

将创建包含 45 个 foo 对象的 vector ,每个对象都是通过 foo(10) 构造函数调用创建的。

关于c++ - 构造数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21218890/

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