菜鸟求助c++中如何定义类数组

我定义了一个类student 然后想定义一个类数组student students【10】。但是结果是不可以会出问题 ,网上查了是和构造函数有关?我不是很懂,想请教一下大家如何在c++中定义类数组,谢谢~

例如

 #include <iostream>
using namespace std;

class Student
{
public:
    int value;
    int score;
};


int main()
{
    Student *students = new Student[10];

    students[0].value = 10;
    students[0].score = 100;

    cout << students[0].value << " " << students[0].score << endl;  // 输出 10 100

    return 0;
}

如果要定义类对象数组,如果你重写了一个带参数的构造函数,那么你必须再为类提供一个无参的构造函数,如下代码:

 #include<iostream>
using namespace std;

class A
{
private:
    int a;
public:
    A(int a):a(a)
    {

    }
    A() {}
};

int main()
{

    A a[5];
    A * b = new A[5];

}

没问题
student students[10]
students[0] = student(...构造函数的参数)
...

如果没有默认构造函数,就得用allocator了,c++11的新特性,搜一搜就行
简单来说new的时候是分配空间和调用默认构造函数一起进行,你现在没默认构造函数
allocator是分配空间和构造分步进行,不一定非要默认构造函数