我正在上 C++ 类(class),并且有一项作业要求我为结构动态分配内存。我不记得在类里面讨论过这个,我们只是在继续上课之前简单地接触过 new
运算符。现在我必须
“动态分配一个学生,然后提示用户输入学生的名字、姓氏和A-number(身份证号)。”
我的结构是这样写的
struct Student
{
string firstName, lastName, aNumber;
double GPA;
};
我试过 Student student1 = new Student;
但这不起作用,我不确定如何使用结构动态执行此操作。
最佳答案
将您的定义更改为
struct Student
{
string firstName, lastName, aNumber;
double GPA;
};
注意我已经更改了结构关键字的位置
你必须改为执行 Student* student1 = new Student
。
当您为结构动态分配内存时,您会得到一个指向结构的指针。
完成Student 后,您还必须记住通过执行delete student1
释放动态分配的内存。您可以使用 std::shared_ptr 自动管理动态分配的内存。
关于c++ - 为struct动态分配内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9397288/