动态内存分配

0 c++ memory-management data-structures

如何动态地为结构数组分配内存....例如:

class students
{
    struct stud
        {
           int r_no;
           char name[20];
         }*s; 
}
Run Code Online (Sandbox Code Playgroud)

如何为*s动态分配内存...

Die*_*lla 5

首先,这不是这样做的方式,因为你可以使用一个螺柱矢量.使用您拥有的代码,它将是这样的:

class students
{
public:
    struct stud ... *s;
    students() // ctor
    {
        s = new stud[100]; // say you have 100 students
        // from now on you can use s[0], s[1], etc. in the class
    }
};
Run Code Online (Sandbox Code Playgroud)

但是,您应该使用的是STL向量或列表:

class students
{
public:
    struct stud ... ;
    std::vector<stud> my_students;
    students() // ctor
    {
        stud aStudent = {0, "Student Name"};
        my_students.push_back(aStudent); // add a new student.
    }
};
Run Code Online (Sandbox Code Playgroud)