c++ - 为struct动态分配内存

标签 c++ dynamic struct

我正在上 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/

相关文章:

c++ - 在同一类中强制使用 Getter/Setter (C++)

C++ 错误 : undefined reference to . .. & 的多重定义

hadoop - Hive 动态分区,未创建正确的分区

java - 如何在java中使用常用的括号进行动态转换?

c++ - 大型 POD 作为元组进行排序

c++ - 带有 *.in 文件的 Doxygen

c++ - sqrt(x) 和 pow(x,0.5) 的区别

swift - Swift 中的动态/运行时调度,或 "the strange way structs behave in one man' 的意见”

c++ - 字符数组和指针的区别

c++ - 链接器因重复符号而失败