【发布时间】:2015-07-28 02:26:49
【问题描述】:
#include <iostream>
using namespace std;
class myClass{
public:
char * pointer;
char * pointerToPointer;
myClass(){
pointer = new char;
char x = 'x';
pointer = &x;
pointerToPointer = new char[3];
char y[3] = {'x', 'y', 'z'};
pointerToPointer = y;
}
~myClass(){
delete pointer;
delete[] pointerToPointer;
}};
int main(){
myClass myclass;
return 0;
}
我是 C++ 新手,所以如果这个问题被打死了,我深表歉意,但我似乎无法在网上找到答案。
我试图在我的类中包含两个指针。一个指向单个字母,另一个指向一个字符数组。据我了解,每次包含新关键字时,它都应在代码中的某个位置伴随删除关键字。
我已经包含了一个析构函数,它应该释放分配给这些指针的内存,但是当程序终止时在主函数中调用它时,我只剩下:
`./a.out' 中的错误:munmap_chunk():无效指针:0x00007fffcabc5600 *** 中止(核心转储)
任何关于我应该在谷歌上搜索什么的建议/建议将不胜感激。
【问题讨论】:
标签: c++ pointers memory dynamic heap-memory