Che*_*ebz 1 c++ destructor c++11
我有一个简单的结构,朋友会被分配new,所以显然我需要delete这样.但是,通过姓名和电子邮件,我不太确定.
struct Member
{
char * name;
char * email;
LinkedList<Member> * friends;
Member() : name(nullptr), email(nullptr), friends(nullptr)
{
}
~Member()
{
if (friends)
delete friends;
}
};
Run Code Online (Sandbox Code Playgroud)
如果,例如,我有什么
Member m;
m.name = "John Doe";
m.email = "johnDoe0@email.com";
Run Code Online (Sandbox Code Playgroud)
我还需要delete姓名/电子邮件吗?
经验法则是:只有delete你new(以及delete[]你new[]).
在这种情况下,你不为字符指针分配内存,而是让它们指向不变的字符数组,所以你当然不应该delete这样.
另请注意,delete在a 上执行此操作是有效的nullptr.
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |